Vibration analysis for predictive maintenance in machinery

ABSTRACT

A method for detecting vibration signatures in a reversible drive is disclosed. The method includes the steps of acquiring digital data representative of vibrations in the reversible drive and identifying and grouping together portions of data in a plurality of groups. The identified portions of data relate to a particular direction of travel of the reversible drive and the plurality of groups relate to travel in different directions of the reversible drive. The method can include the further step of processing at least one of the groups of data using signal processing techniques. A system and computer program product for practicing the method for detecting vibration signatures in a reversible drive are also disclosed.

FIELD OF THE INVENTION

The present invention relates generally to vibration analysis inmachinery and more specifically to vibration analysis, for purposes ofpredictive maintenance, in rotating, reciprocating and cyclic machinery.

BACKGROUND OF THE INVENTION

Predictive maintenance aims to sustain the availability of equipment andavoid catastrophic failures, which may cause severe consequential damageto other components of the equipment before the equipment can be shutdown. The avoidance of catastrophic failures often reduces the number ofcomponents to be replaced. Predictive maintenance is further beneficialin that equipment down time can be predicted and scheduled. Thus,unscheduled down time can be minimised and delays that may be incurreddue to procurement of spare parts can be avoided.

Rotating and reciprocating machinery represent very commonly found typesof equipment found in industry and it is for this reason that extensivework has been conducted on techniques to aid predictive maintenanceprograms on such equipment, including vibration analysis, infra-redthermography and oil analysis.

Two known techniques used in vibration analysis include Time SynchronousAveraging (TSA) and Order Tracking. Both techniques are used inconjunction with a conventional Fast Fourier Transform (FFT) to producea frequency spectrum of the vibration data for analysis to detectvibration signatures indicative of actual or potential fault conditions.

Various vibration analysis techniques are well documented and have aproven record in predicting catastrophic failures. However, an area thathas attracted little attention is that of the analysis of frequentlyreversing drives, particularly such as found in rotating andreciprocating machinery. No techniques are currently known for thesuccessful analysis of equipment vibrations whilst that equipment isaccelerating or decelerating and for differentiation between vibrationsignatures in the forward and reverse directions. One reason is thatsystem dynamics change with speed, direction, and more importantly, withload. Another reason for the limited analysis of frequently reversingdrives is that the period during which the equipment runs at a constantspeed is normally insufficient for vibration analysis to be performed.

A need thus exists for a vibration analysis technique that can beapplied to frequently reversing, rotating, reciprocating and cyclicmachinery. Draglines, shovels, winders and cranes, are just someexamples of rotating and reciprocating machinery that would clearlybenefit from a successful predictive maintenance strategy incorporatingadvanced vibration analysis techniques such as TSA and Order Tracking.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention, there is provideda method for detecting vibration signatures in a reversible drive, themethod including the steps of:

acquiring digital data representative of vibrations in the reversibledrive;

identifying portions of the data using a processor means; and

grouping together the identified portions of data in a plurality ofgroups;

wherein each of the identified portions of data relate to travel in aparticular direction of travel of the reversible drive and the pluralityof groups relate to different directions of travel of the reversibledrive.

According to a further aspect of the present invention, there isprovided a system for detecting vibration signatures in a reversibledrive, including:

transducer means for acquiring digital data representative of vibrationsin the reversible drive;

processor means for identifying portions of the data; and

processor means for grouping together the identified portions of data ina plurality of groups;

wherein each of the identified portions of data relate to travel in aparticular direction of travel of the reversible drive and the pluralityof groups relate to different directions of travel of the reversibledrive.

According to a further aspect of the present invention, there isprovided a computer program product having a computer readable mediumhaving a computer program recorded therein for detecting vibrationsignatures in a reversible drive, including:

computer program code means for acquiring digital data representative ofvibrations in the reversible drive;

computer program code means for identifying portions of the data; and

computer program code means for grouping together the identifiedportions of data in a plurality of groups;

wherein each of the identified portions of data relate to travel in aparticular direction of travel of the reversible drive and the pluralityof groups relate to different directions of travel of the reversibledrive.

According to an embodiment of the present invention, the identifiedportions of data are representative of substantially constant speed ofoperation of the reversible drive. The digital data may include datasampled at either a fixed time interval sampling rate or a variablesampling rate synchronised to the speed of the drive. Data sampled at afixed time interval sampling rate can be resampled such that eachsuccessive sample of the resampled data corresponds to a successiveposition of the reversible drive and the distance between each of thesuccessive portions is a constant amount. The distance may be an angulardistance.

Preferably, each successive sample of each group of identified portionsof data corresponds to a successive sample position of the reversibledrive.

Preferably, at least one of the groups of identified portions of dataare processed to produce data representative of one or more vibrationsignatures. The processing step may include one or more of thefollowing:

accumulating the average, in the time domain, of the data comprising oneof the groups;

accumulating the average, in the angle domain, of the data comprisingone of the groups;

accumulating the average, in the frequency domain, of the datacomprising one of the groups;

accumulating the average, in the orders domain, of the data comprisingone of the groups;

computing a time synchronised average time waveform of the datacomprising one of the groups;

computing a frequency spectrum of a time synchronised average of thedata comprising one of the groups;

computing an order tracked frequency spectrum of the data comprising oneof the groups;

computing the kurtosis of an accumulated time domain average;

computing the kurtosis of an accumulated angle domain average;

computing the kurtosis of a time synchronised average time waveform; and

computing a demodulated frequency spectrum of the data comprising one ofthe groups.

According to a further aspect of the present invention, there isprovided a method for detecting vibration signatures in a rotatingand/or cyclic machinery, which method includes the steps of:

acquiring digital data representative of vibrations in the machinery,wherein the data includes data acquired at different speeds of themachinery;

identifying portions of the data relating to a predetermined speed andacceleration range of the machinery and for identifying portions of thedata outside the predetermined speed and acceleration range, wherein aprocessor means is used for identifying the portions of the data; and

grouping together the identified portions of data relating to thepredetermined speed and acceleration range in a group relating to datain the predetermined speed and acceleration range, by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the predetermined speed and acceleration range.

According to a further aspect of the present invention, there isprovided a system for detecting vibration signatures in a rotatingand/or cyclic machinery according to the method of claim 13, whichsystem includes:

transducer means for acquiring digital data representative of vibrationsin the machinery;

processor means for identifying portions of said data relating to apredetermined speed and acceleration range of the machinery and foridentifying portions of the data outside the predetermined speed andacceleration range; and

processor means for grouping together said identified portions of datarelating to the predetermined speed and acceleration range in a grouprelating to data in the predetermined speed and acceleration range byappending successive portions to an accumulation of previous dataportions also relating to the predetermined speed and accelerationrange.

According to a further aspect of the present invention, there isprovided a computer program product having a computer readable mediumhaving a computer program recorded therein for detecting vibrationsignatures in a rotating and/or cyclic machinery for use in the methodaccording to claim 13, wherein the computer program product includes:

computer program code means for acquiring digital data representative ofvibrations in the machinery;

computer program code means for identifying portions of said datarelating to a predetermined speed and acceleration range of themachinery and for identifying portions of the data outside thepredetermined speed and acceleration range; and

computer program code means for grouping together said identifiedportions of data relating to the predetermined speed and accelerationrange in a group relating to data in the predetermined speed andacceleration range by appending successive portions to an accumulationof previous data portions also relating to the predetermined speed andacceleration range.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and preferred embodiments of the present invention arehereinafter described with reference to the accompanying drawings, inwhich:

FIG. 1 is a flow diagram showing a method of vibration analysis forapplication to a reversible drive;

FIG. 2 is a timing diagram showing determination of the direction ofrotation and trigger point of a shaft of interest, according toembodiments of the invention;

FIG. 3 is a perspective view of a portion of a gear wheel showinggeneral deterioration of the teeth;

FIG. 4 is an enlarged perspective view of a tooth shown in FIG. 3;

FIG. 5 is a plot of a TSA time waveform for the gear wheel shown in FIG.4, after 500 averages;

FIG. 6 is a perspective view of a portion of the gear wheel of FIG. 3showing deterioration of specific teeth;

FIG. 7 is a plot of a TSA frequency spectrum of the gear wheel of FIG.3, after 500 averages;

FIG. 8 is a plot of a TSA time waveform for a gear wheel exhibiting lessdeterioration than the gear wheel of FIG. 3, after 500 averages;

FIG. 9 is a perspective view of a portion of the gear wheel representedin FIG. 8;

FIG. 10 is an enlarged perspective view of a specific tooth shown inFIG. 9;

FIG. 11 is an enlarged perspective view of another tooth of the gearwheel represented in FIG. 8;

FIG. 12 is a plot of a TSA frequency spectrum of the gear wheelrepresented in FIG. 8, after 500 averages;

FIG. 13 is a plot of a TSA time waveform for a gear wheel on the inputshaft of a friction winder after 500 averages, using data sampled fromthe output end of the input shaft;

FIG. 14 is a perspective view of a large indentation on a tooth of thegear wheel represented in FIG. 13;

FIG. 15 is an enlarged view of FIG. 14;

FIG. 16 is a plot of a TSA time waveform for the gear wheel representedin FIG. 13, after 500 averages, using data sampled from the drive end ofthe input shaft;

FIG. 17 is a plot of an Orders Spectrum waveform for the gear wheelrepresented in FIG. 13, after 500 averages, using data sampled from theoutput end of the input shaft;

FIG. 18 is a plot of two superimposed TSA time waveforms, one after 4averages and the other after 4000 averages;

FIG. 19 is plot of the correlation coefficient between the TSA after4000 averages and the TSA after the number of averages shown as thex-axis;

FIG. 20 is a plot of two superimposed TSA time waveforms, one after 63averages and the other after 4000 averages;

FIG. 21 is a plot of leakage value as a function of the number ofaverages, after application of a modified algorithm to determine theleakage values;

FIG. 22 is a plot of the mean difference in magnitude as a function ofthe number of averages;

FIG. 23 is a plot of two superimposed TSA time waveforms, one after 100averages and the other after 4000 averages;

FIG. 24 is a plot of two superimposed TSA time waveforms, one after 500averages and the other after 4000 averages;

FIG. 25 is a block diagram of a computer system wherewith embodiments ofthe invention can be practiced;

FIGS. 26 to 30 are flow charts showing additional detail of varioussteps in FIG. 1; and

FIGS. 31, 32 and 33 are a visual representation of software program codefor tracking intermediate buried shafts.

DETAILED DESCRIPTION OF THE INVENTION

A method, an apparatus and a computer program product for vibrationanalysis in machinery are disclosed hereinafter. The principles of themethod, apparatus and computer program product, in accordance withembodiments of the invention, have general applicability to rotatingand/or cyclic machinery that typically incorporates reversible drives.However, it is not intended that the present invention be limited to thedescribed method, apparatus and computer program product. For example,aspects of the invention have application to variable speed drives thathave multiple settings of constant speed and to drives of varying speedwherein the analysis includes periods of acceleration and decelerationof such drives. Aspects of the invention also have application toequipment that changes direction in a number of different orientations.For example, the equipment may move left, right, up, down, forwards andbackwards. A reversible drive is defined as a piece of equipment thatcontains one or more elements that change direction in either a linear,angular or rotational manner.

In a preferred embodiment of the system of the present invention, saididentified portions of data are representative of substantially constantspeed of operation of said reversible drive.

In the system of the present invention, said digital data preferablyincludes data sampled at a variable sampling rate synchronised to thespeed of said reversible drive.

In another embodiment of the system of the present invention, saiddigital data includes data sampled at a fixed time interval samplingrate.

In a preferred embodiment of the system of the present invention, saidsystem further includes processor means for resampling said digitaldata, wherein each successive sample of the resampled digital datacorresponds to a successive position of said reversible drive and thedistance between each of said successive positions is a constant amount.

Preferably, in the system of the present invention, each successivesample of each of said one or more groups of identified portions of datacorresponds to a successive sample position of said reversible drive.

In another preferred embodiment of the system of the present invention,said system further includes processor means for processing at least oneof said groups of identified portions of data to produce datarepresentative of one or more vibration signatures.

Said processor means includes one or more processor means selected fromthe group consisting of:

processor means for accumulating the average, in the time domain, of thedata comprising one of said groups;

processor means for accumulating the average, in the angle domain, ofthe data comprising one of said groups;

processor means for accumulating the average, in the frequency domain,of the data comprising one of said groups;

processor means for accumulating the average, in the orders domain, ofthe data comprising one of said groups;

processor means for computing a time synchronised average time waveformof the data comprising one of said groups;

processor means for computing a frequency spectrum of a timesynchronised average of the data comprising one of said groups;

processor means for computing an order tracked frequency spectrum of thedata comprising one of said groups;

processor means for computing the kurtosis of an accumulated time domainaverage;

processor means for computing the kurtosis of an accumulated angledomain average;

processor means for computing the kurtosis of a time synchronisedaverage time waveform; and

processor means for computing a demodulated frequency spectrum of thedata comprising one of said groups.

In one embodiment of the computer program product of the presentinvention, said identified portions of data are representative ofsubstantially constant speed of operation of said reversible drive.

In a further embodiment of the computer program product of the presentinvention, said digital data includes data sampled at a variablesampling rate synchronised to the speed of said reversible drive.

In another embodiment of the computer program product of the presentinvention, said digital data includes data sampled at a fixed timeinterval sampling rate.

The computer program product of the present invention, may furtherinclude computer program code means for resampling said digital data,wherein each successive sample of the resampled digital data correspondsto a successive position of said reversible drive and the distancebetween each of said successive positions is a constant amount.

In a further embodiment of the computer program product of the presentinvention, each successive sample of each of said one or more groups ofidentified portions of data corresponds to a successive sample positionof said reversible drive.

In one embodiment, the reversible drive changes its direction of travel(such as its direction of rotation) while the data is acquired.

In another embodiment of the computer program product of the presentinvention, the computer program product further includes computerprogram code means for processing at least one of said groups ofidentified portions of data to produce data representative of one ormore vibration signatures.

Said computer program code means includes one or more computer programcode means selected from the group consisting of:

computer program code means for accumulating the average, in the timedomain, of the data comprising one of said groups;

computer program code means for accumulating the average, in the angledomain, of the data comprising one of said groups;

computer program code means for accumulating the average, in thefrequency domain, of the data comprising one of said groups;

computer program code means for accumulating the average, in the ordersdomain, of the data comprising one of said groups;

computer program code means for computing a time synchronised averagetime waveform of the data comprising one of said groups;

computer program code means for computing a frequency spectrum of a timesynchronised average of the data comprising one of said groups;

computer program code means for computing an order tracked frequencyspectrum of the data comprising one of said groups;

computer program code means for computing the kurtosis of an accumulatedtime domain average;

computer program code means for computing the kurtosis of an accumulatedangle domain average;

computer program code means for computing the kurtosis of a timesynchronised average time waveform; and

computer program code means for computing a demodulated frequencyspectrum of the data comprising one of said groups.

Directional Normalisation

For the successful analysis of vibrations in reversible drives, it isadvantageous that samples in the forward and reverse directions areseparated and processed individually. This is due to the existence ofdiffering speed and loading conditions in the forward and reversedirections. For the specific case of gears, different teeth faces are incontact when moving or rotating in different directions.

A fundamental limitation in vibration analysis of reversing drives isthe time available to collect data in a particular direction before thedrive reverses. A solution that permits data acquisition whilst theequipment is in commercial operation is to separate the samplescollected into the forward and reverse directions and then grouptogether all the samples collected for each direction of travel. Thisprocess is referred to as “directional normalisation”. For the case ofequipment that changes direction in a number of different orientations,the data is direction normalised into each direction or orientationseparately.

Speed Variations and Fluctuation

It is also necessary to detect the rotational speed of the shaft ofinterest and normalise speed fluctuations. Minor speed fluctuations areof minimal effect, provided that the data is sampled in or transformedinto the angle domain. TSA and Order Tracking require a fixed number ofsamples per revolution, in the angle domain, so that each samplecorresponds to a specific position on the shaft. If the shaft rotationalspeed changes, and the data is collected in the time domain, thefrequency spectrum shows smeared spectral components, particularly forthe higher shaft orders. On the other hand, a frequency spectrum of datacollected in the angle domain will maintain sharp peaks irrespective offluctuations in speed. Smearing of spectral components occurs becausethe data samples collected in the time domain do not correspond to aspecific position on the shaft that is generating the vibration, butrather to a time from the beginning of the shaft rotation.

The foregoing description concerns TSA performed on rotating machineryby ensuring the data is sampled or transformed into the angle domain.This concept can equally be applied to equipment that moves in any otherfashion. Essentially the data must be sampled or transformed into theposition domain, where the position relates to a physical point in thecycle rather than a time from the beginning of the cycle. For example ifa piece of equipment moves in a linear fashion it would be importantthat the data is either sampled or transformed into the linear domainsuch that each sample relates to a specific distance from the beginningof each cycle.

The effects of varying speeds of operation, as opposed to mere speedfluctuations, can be substantially eliminated by the identification anduse of constant speed portions of the data. It is particularlybeneficial in most cases to use constant speed data because the systemdynamics remain the same at a particular speed. However, in some cases,it may be beneficial to analyse data collected during periods ofacceleration and/or deceleration. This data can also be speed normalisedand/or direction normalised and then processed by means of varioustechniques.

Data Sampling and Resampling with Interpolation

Two methods of obtaining vibration signals in the angle domain includesampling the data in the angle domain directly, by means of a phaselocked frequency multiplier, and resampling of vibration data originallysampled in the time domain.

A phase locked frequency multiplier adjusts the sampling frequency insympathy with changes in the shaft rotational frequency and attempts tocollect the same number of sample points for each revolution of theshaft. The sampling frequency is effectively synchronised with thefrequency of the gear rotation to compensate for machine speed increasesor decreases. Thus, a sufficient number of equally spaced pulses, in theangle domain, can be generated for each revolution of the gear. Therequired sampling frequency is determined by the time between thepulses. As the shaft speeds up, and the time between each pulse becomesshorter, the sampling frequency increases at a suitable rate to maintainthe same number of data samples per revolution. The phase lockedtechnique can also be applied to situations where the shaft of interestcan not be accessed but another shaft in the gear train can. In such acase, a suitable frequency multiplier is selected to produce a pulsetrain corresponding to the shaft of interest. One potential problem withthe phase locked technique is the difficulty of generating more than afew pulses per revolution on equipment in commercial operation becauseof the shaft of interest not being easily accessible and there being aninsufficient number of revolutions of an appropriately accessible shaft.Thus, it is best to incorporate the device at the design stage.Furthermore, if changes in speed occur too quickly, the phase detectormay not be able to track the changes in shaft speed fast enough. Thetime lag that results when changes in frequency or phase occur createserrors that limit the accuracy of the averaged time signal. Otherpotential disadvantages include susceptibility to false triggering and afinite time necessary to lock on to the input signal that can often betoo long. The result is that only a small proportion of a large numberof samples can be used for time synchronous averaging. This is furtherexacerbated for the case of reversing machinery with a particularlyshort cycle time.

A simpler and more accurate method of allowing for variations inrotational speed is to digitally resample the data acquired at a fixedsampling rate so that each sample corresponds to a specific angularposition on the shaft of interest. This effectively results in avariable sampling rate that changes with changes in the rotational speedof the shaft to ensure a fixed number of sample points for eachrevolution of the shaft. An advantage is that this method does notrequire additional hardware apart from a standard data acquisitiondevice that samples at a constant rate and a digital computer to postprocess and resample the data. Resampling of the data can occur as datais acquired (i.e. online, with the use of buffering) or offline. Offlineresampling allows more time for filtering and processing to removeinterference and noise in the signal. An advantage of offline resamplingis that more recorded data can be processed and more revolutions can beused in the averaging process. The major advantage of this method is theease with which the pulse sequence can be manipulated to perform anaverage on a hidden shaft. Simple linear interpolation can be applied todetermine the new arrival times of the pulse train as opposed to complexloop filters required for the phase locked loop frequency multiplier.

It is imperative that the spectral characteristics, which describe thedynamic nature of the signal, are preserved in the conversion from thetime domain to the angle domain. This can be achieved by using linearinterpolation to determine the desired time from the reference pulse toeach desired sample, which is a suitable method, provided the functionbeing interpolated is highly band limited. Together with the desiredresample times (corresponding to specific angle positions),interpolation techniques are used to resample the vibration data. Thereare a number of different interpolation techniques that can be applied.Increasing the order of interpolation decreases the amplitude of sidelobes, thus producing a better stop band performance, a flatter passband, and a sharper cut off rate. The cubic function provides a goodfrequency response, although the higher order increases computationtimes.

Signal Processing

A number of different known signal processing techniques can be appliedto the vibration signal(s) after they have been directionally normalisedand/or speed normalised. Time synchronous averaging (TSA), OrderTracking and Demodulation are some of the techniques applied to thedirectionally normalised data. It will be apparent to those skilled inthe art that variations to the processing of appended or groupeddirectionally normalised data can be made without departing from thescope and spirit of the invention. In particular any known signalprocessing techniques may be used in conjunction with or in addition tothose described herein.

Time Synchronous Averaging (TSA)

Time Synchronous Averaging produces a cumulative average of a signal inthe angle domain. The technique can also be applied to produce acumulative average of a signal in either the time domain or the positiondomain. It is preferable to sample or resample the signal in theposition domain (angle domain for rotating shafts) to ensure that eachsample relates to a specific location in the cycle rather than a settime from the beginning of the cycle. If the data is sampled in the timedomain and the speed of the drive fluctuates, smearing of the frequencyspectrum will occur. However, if the data is sampled or resampled intothe position domain, the smearing of the frequency spectrum will beminimised, if not eliminated. TSA requires a reference trigger that issynchronous with the particular cycle being analysed to determine thebeginning of each sampling window. The reference trigger may be a singletrigger relating to the beginning of every cycle or a multitude oftriggers, each relating to a specific position in the cycle. Invibration analysis, TSA enhances the synchronous vibration components,whilst the non-synchronous components and noise are substantiallyreduced. Isolation of a specific machine component such as an individualroll on a paper machine or a specific shaft in a complex gearbox is thuspossible and the effects of external excitation such as forcingfrequencies from adjacent machines are minimised. As a consequence, TSAhas proved to be successful for detection of repetitive shaftsynchronous faults such as shaft cracks, misalignment, unbalance andtooth damage. However, when conducted over one revolution of a shaft,TSA averages out most frequencies associated with bearing faults due tothe fact that such faults are not synchronous with the shaft rotation.By comparison, Order Tracking does not remove non-synchronousfrequencies and will therefore show bearing faults.

In TSA, uniformly distributed wear (i.e. where the tooth profile remainsunmodified) only increases the tooth-meshing frequency, and itsharmonics, and does not give rise to side bands. Non-uniformlydistributed faults will give rise to components at other frequencies,including low harmonics caused by periodically repeated impulses, andside bands that in turn cause amplitude and frequency modulation tooccur. Furthermore, TSA may produce a ‘ghost frequency’, which isessentially a clean line that appears in the frequency domain afterperforming a Fast Fourier Transform (FFT) on the time domain data anddoes not correspond to any known components of the shaft. The ‘ghostfrequency’ is believed to be due to the type of cutter used in themanufacture of gears.

When conducting TSA with an averaging window of one revolution, thefrequency spacing between the lines of the spectrum is always therotational frequency of the shaft, or one order. Thus, the resolution ofthe spectrum can not be improved by increasing the sample rate—this willonly improve the maximum order that can be represented. If a higherresolution is required, the average should be conducted over morerevolutions. For example, if a two-revolution window is used for theaverage, the frequency spacing in the spectrum will be half an order.

Order Tracking

Order Tracking is similar to TSA in that a frequency response analysisof data in the angle domain is involved. However, Order Tracking differsfrom TSA in that signal averaging occurs in the frequency or ordersdomain, after transformation of the data by means of an FFT, rather thanin the time or angle domain. Order Tracking is different to OrderNormalisation in that the analysis is conducted in the angle domain,rather than in the time domain. Order Tracking can successfully detect amultitude of problems, including lubrication problems, unbalance,misalignment and bearing faults. Essentially, Order Tracking can be usedin the same way as standard frequency analysis on data collected in thetime domain. The main advantages of Order Tracking are that it allowsfor speed fluctuations and that vibrations are always reported relativeto the shaft rotational speed.

In an orders spectrum, orders or harmonic components remain fixed inposition despite speed changes or fluctuations. This constitutes a clearadvantage when comparing the characteristics of variable speed machinesover a period of time. The disadvantage of an orders spectrum is thatfixed frequency components can move, thus making it difficult torecognise speed dependent amplitude changes. In particular, as resonanceis directly related to shaft speed, the resulting amplitudes will remainfixed in the time domain but not in the angle domain. These frequenciesmove when plotted on an orders spectrum, whereas, if plotted on afrequency spectrum their position would remain fixed. This is especiallyobvious in an orders waterfall display.

Demodulation

Modulation is the variation in the value of a parameter whichcharacterises a periodic oscillation. Thus, amplitude modulation of asinusoidal oscillation is a variation in the amplitude of the sinusoidaloscillation. Phase modulation of a sinusoidal oscillation is a variationin the phase of the sinusoidal oscillation. Amplitude and phasemodulation occur in vibration signals from most equipment.

Demodulation is the process of extracting the original modulatingsignal(s). Consequently, demodulation is necessarily incorporated in theprocessing of the appended data.

Typically, in vibration analysis, demodulation is used to-predictincipient failure in bearings and gears. The most common techniquesincorporate band pass filtering and enveloping to assist in thedetection of such faults.

The Kurtosis

Calculation of the Kurtosis, otherwise known as the normalised fourthstatistical moment, is a useful analysis technique for determination ofthe condition of a gearbox. The Kurtosis, K, may be calculated using thefollowing formula:

$K = \frac{\left\lbrack {\sum\left( {X_{i} - M} \right)^{4}} \right\rbrack}{{NS}^{4}}$

-   where: N=number of samples-    M=mean value-    S=standard deviation-    X_(i)=i^(th) sample

The Kurtosis is larger for cases where single large peaks exist, asopposed to a normal gaussian distribution for which a kurtosis of threecan be expected. Thus, the Kurtosis can be used as an indication of theextent to which large peaks dominate the time waveform. The actual valueshould be monitored and compared to the value calculated when thegearbox was new or at least in good condition.

Use of the Kurtosis to detect a fatigue crack in a gearbox has beensuccessfully demonstrated. The Kurtosis was calculated after enhancementof the TSA time waveform by band pass filtering around the dominant gearmesh harmonic and subsequent removal of the meshing harmonic. Theresulting time waveform had a distinct peak at the location of thefatigue crack and the Kurtosis value rose from three to around seven.

General Embodiment

FIG. 1 is a flow diagram of a general method of vibration analysis forapplication to a reversible drive.

Vibration data from a transducer, such as an accelerometer, and shaftspeed, direction and position data from one or more transducers, such asa tachometer, are acquired at step 110.

At step 120, a data processing trigger is extracted from the acquireddata. The trigger relates to a reference point on the shaft of interestand facilitates further data processing. Specifically, the triggerfacilitates identification of portions of the data relating to eachdirection of travel of the shaft of interest and identification ofconstant speed data. Determination of the trigger and direction ofrotation of the shaft of interest are further described later in thisdocument.

At step 130, the data is speed normalised. This includes resampling ofthe data for transformation from the time domain into the angle domain.At the same time, samples relating to periods of acceleration anddeceleration are identified and eliminated from the data. Bothresampling and determination of constant speed data are furtherdescribed later in this document.

Steps 142, 144 and 146 constitute the process of directionnormalisation. At step 142, portions of the speed normalised data in theangle domain, relating to the forward and reverse directions, areidentified. Then, at step 144, successive portions of data relating tothe forward direction are grouped together by appending successiveportions to an accumulation of previous data portions also relating tothe forward direction. Similarly, at step 146, successive portions ofdata relating to the reverse direction are grouped together by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the reverse direction. The portions of data are grouped insuch a way that the first sample of each successive portion appendedcorresponds to the position of the reversible drive immediatelyfollowing the position of the reversible drive corresponding to the lastsample of the data portion last appended.

At steps 154 and 156, the data grouped in the forward and reversedirections, respectively, undergoes signal conditioning. Signalconditioning of the data is performed to eliminate the effects ofaliasing and spectral leakage. During resampling, the number of samplesis increased relative to the number of original samples (i.e. upsamplingusing cubic interpolation). A digital low-pass filter is thus applied tothe data to remove any frequencies above those that can be accuratelyrepresented by data sampled at the original sampling rate, in accordancewith the Nyquist criterion. However, aliasing errors due to resamplingwill be attenuated by the time synchronous averaging process. Theresampled waveform is filtered by a low pass 9^(th) order Butterworthfilter to remove frequencies above half the original sampling frequency,thus avoiding errors due to aliasing.

Leakage occurs when performing a Fast Fourier Transform (FFT) and is dueto the fact that the data is sampled over a finite time period and thefrequency components are cut in mid-cycle. Leakage is reduced by thetechnique known as windowing the signal. Windows used include Hanning,Hamming, seven Term B-Harris, four Term B-Harris, Flat Top, Blackman,Exact Blackman and Blackman-Harris.

At steps 164 and 166, the data accumulated in the respective directionsundergoes signal processing. The signal processing typically comprisesstandard vibration analysis techniques. One technique of analysisinvolves averaging the filtered time waveform in the time domain toproduce a Time Synchronised Average. Then, an orders FFT is computed onthe digital TSA time waveform, thus identifying the spectrum offrequencies that are integer multiples of shaft rotation frequency. TheKurtosis can also be computed, using the data of the digital TSA timewaveform.

Another technique of analysis involves use of the resampled data toproduce an Order Tracked spectrum that is averaged in the frequencydomain. This requires transformation of the data to the frequencydomain, by means of an FFT, prior to signal averaging.

At steps 174 and 176, the data processed in the forward and reversedirections, respectively, is output to a display monitor or printer forhuman visual analysis. The interpretation of vibration signals is ahighly skilled art that requires extensive machinery knowledge and adetailed understanding of mechanical vibrations. Certain knowncorrelations can be applied to predict incipient failures. For example,a specific type of fault condition may be identifiable by a specificvibration signature. Furthermore, the extent of existing damage may berelated to the magnitude of one or more specific frequency components.

However, it will be apparent to those skilled in the art that variationsto the manner of output of the processed data can be made withoutdeparting from the scope and spirit of the invention. For example, theprocessed data may undergo further processing to facilitateclassification of predefined fault conditions by machine-basedcorrelation of acquired vibration signatures with stored vibrationsignatures, where characteristics of the stored signatures arerepresentative of specific fault conditions.

The further processed data can be used to provide alarm levels by meansof visual and/or audible indicators. The alarm levels can be categorisedinto warning, danger and shutdown categories. The shutdown category maybe the level at which the machine is automatically shutdown to avoidcatastrophic failure.

Direction and Trigger Determination

FIG. 2 shows determination of the direction of rotation and triggerpoint of a reference shaft. Two laser tachometers are used to generate asquare pulse once every revolution by detection of a key way, a marking,or a piece of reflective tape on the reference shaft. The two lasertachometers are offset from each other by an angle of approximately 60degrees. The specific angle is not critical, however, the offset must besufficient to eliminate false triggering due to reflections from theother laser but less than 180 degrees. The laser tachometers are eachconnected to separate channels on a data acquisition card in a personalcomputer (PC) and sampled simultaneously with the vibration information.As the shaft rotates in the reverse direction the first laser (laser A)detects the reflective tape, and generates a square pulse. As the shaftcontinues to rotate, the second laser (laser B) detects the reflectivetape and generates a square pulse.

A software program is used to calculate the arrival times of each pulseby locating the leading edge (positive slope) of each pulse. Linearinterpolation is used to more accurately determine the arrival times.The time between a pulse from laser A and a successive pulse from laserB (dt) is determined by the difference between the arrival times ofthose pulses. However, when a change in direction occurs a pulse fromlaser A will be followed by another pulse from laser A before a pulsefrom laser B occurs. Thus, a valid time between two consecutive pulsesmust always correspond to dt as opposed to dy or dx. In other words thetime being compared must be less than half the rotational speed of thereference shaft, hence dt<dT/2. After determining that the correct dt isbeing used the direction is determined by the sign of dt. If dt isnegative, rotation of the shaft is in one direction and if dt ispositive, rotation of the shaft is in the opposite direction.

The software program mechanism used to determine dt, rather then dx ordy is a set of “if” statements that find each case where dt<dT/2. Thearrival times are evaluated in a logical sequence to ensure the correctpulse arrival time is found in as short a time as possible. The relativeposition of a pulse from laser B will only change if there is a changein direction where the shaft stops between the two pulses. In order toavoid the search for the reference position for every segment ofconstant speed, the software program remembers the position for the nextcomparison.

It is important to note that the first laser (laser A) is used todetermine the beginning and end of each revolution. The software programuses this information to convert the vibration data from the time domainto the angle domain. It is critical this pulse is accurate andrepeatable, as the angle domain data resampled from each revolution mustcorrespond to the exact same position on the shaft. The second laser(laser B) is only used to determine direction and has nothing to do withresampling of the data.

If the shaft of interest is buried in a gearbox, a determination of theshaft arrival time is more difficult. The arrival times of the buriedshaft are calculated using the first reference pulse to indicate thebeginning of the revolution. The gear ratio is then used to determineexactly how many revolutions of the reference shaft relates to onerevolution of the shaft of interest. This ratio is used with thereference shaft arrival times to linearly interpolate the arrival timesof the shaft of interest. In cases where the reference shaft changesdirection more than once, it is important to track the relative positionof the buried shaft and ensure the first sample always corresponds tothe same position on the buried shaft.

The foregoing method of determining arrival times of a buried shaft canbe applied to perform TSA on any component that has a rotational speed,which is either a fraction of rotational speed, an integer multiple ofrotational speed or a non-integer multiple of rotational speed. A goodexample of where this may be applied is to a bearing cage rotation. Therotational speed of the cage can be directly related to the rotationalspeed of the reference shaft, therefore a TSA could be performed on thebearing cage provided limit slip occurs between the balls and the races.

Constant Speed Determination

The software program compares each revolution time (dT) to identify dataportions of constant speed. If the revolution time dTn, for a particularrevolution n, is within a certain percentage of the revolution timedT_(n−1) of the previous revolution n−1, the speed is determined to beconstant. The time for each successive revolution is compared with thatof the previous revolution until the percentage variation is greaterthan a certain threshold. This threshold can be set in the softwareprogram and typically has a default of 1%. A minimum of threeconsecutive constant speed revolutions are required for resampling.Thus, in the absence of three consecutive revolutions of constant speed,the relevant samples are discarded and the program advances to the nextarrival time. This process is repeated until all the arrival times ofconstant speed revolutions are determined.

Resampling

Samples of vibration data collected over each revolution, for eachconstant speed portion with a fixed sample rate, are resampled toprovide a fixed number of samples per revolution. The minimum number ofsamples per revolution to avoid aliasing is the quotient of originalsampling rate (H_(z)) and the minimum shaft speed (H_(z)). Afterresampling of each constant speed portion, using cubic interpolation,all the portions relating to each particular direction of travel of thedrive are appended together. This results in a continuous set of samplesin respect of each direction of travel, with a fixed number of samplesper revolution. The total number of samples in each direction of travelis the number of samples per revolution multiplied by the number ofrevolutions of constant speed identified in each respective direction.These samples sets are treated as continuous data that can be processedusing various vibration analysis techniques.

Software Implementation

The software program was developed in the Matlab and Labviewenvironments. Labview was primarily used to interface the Matlab scriptfiles with the data acquisition card used in the Personal Computer (PC).

Tables 1 to 7 at the end of the Detailed Description contain Matlabscript files used to practice embodiments of the invention:

Table 1: Arrival Times Script 1 (main program)

Table 2: Arrival Times. Script 2 (function used in Arrival Times Script1)

Table 3: Shaft of Interest Arrive Time Script

Table 4: Resampling vibration data into forward and reverse directionsscript

Table 5: Pulse reference check script (direction determination)

Table 6: Resampling script (including interpolation)

Table 7: Kurtosis Calculation Script

Further Detail Relating to the General Embodiment

FIGS. 26 to 30 provide additional detail relating to certain of thesteps in FIG. 1.

The data is acquired in blocks, the size of which are selected to ensurethat data relating to at least two complete revolutions are captured ineach block. An SD-Section is a section of data that is continuous in thetime domain and which relates to a specific speed and acceleration rangeand direction. The following variables are defined:

-   -   N=the number of channels,    -   K=the data acquisition block number,    -   L=the SD-section number,    -   R_(K)=the number of revolutions in the K^(th) block,    -   Revs=the number of revolutions in each direction to collect, and    -   Z=the number of points per revolution to resample (this value is        determined based on the sampling rate, the rotational speed of        the shaft and the desired up sampling ratio).    -   S_(x)=shaft number x

FIG. 26 shows additional detail relating to steps 110 and 120 of FIG. 1,which relate to acquisition of the vibration data and the extraction ofdata processing triggers. Specifically, steps 101–104, 105 and 119 ofFIG. 26 relate to step 110 of FIG. 1 and steps 201–204 of FIG. 26 relateto step 120 of FIG. 1.

At step 100, the following variables are each initialised to zero:

-   -   the data acquisition block number (K),    -   the SD-Section number (L),    -   the total number of revolutions in each required direction        (R_(FWD), R_(REV)), and    -   the number of useable revolutions for each direction of each        shaft (Act_Revs_(SxDFWD), Act_Revs_(SxDREV)).

If a direction is not initialised, the SD-Sections for that directionwill not be collected.

The reference trigger data is collected at step 101 and the directionaltrigger data is collected at step 102. The actual vibration data forchannels 1, 2 and N are acquired at steps 103, 104 and 119,respectively. The number of channels for acquiring actual vibration datais typically limited by the data acquisition hardware or the dataprocessing requirements. Steps 101 to 104 and 119 typically occursimultaneously due to parallel implementation in of the samplinghardware for each channel.

At step 105, the data acquisition block number is incremented forcollecting a subsequent set of samples at steps 101 to 104 and step 119.

At steps 201 and 203, the K^(th) block of data is read for the referenceand directional triggers, respectively.

At steps 202 and 204, the tachometer arrival times A_(1k)(t) andA_(2k)(t), for tachometers 1 and 2, respectively, are computed for theK^(th) block of data. These values are used to determine the speed,acceleration and direction for each revolution. Processing continues atstep 501 of FIG. 28 after step 204 of FIG. 26, at step 350 of FIG. 29after step 307 of FIG. 27, and at step 301 of FIG. 27 after step 202 ofFIG. 26.

FIGS. 27 and 28 and steps 361, 371, 381, 362, 372 and 382 of FIG. 29show additional detail relating to steps 142 and 130 of FIG. 1,respectively, which relate to speed normalisation of the vibration data.To some extent, certain of the steps in FIGS. 27 and 28 occursimultaneously.

Referring firstly to FIG. 28, the trigger information is interpreted todetermine the direction of the revolutions that occur during the K^(th)block, at step 501. Step 501 follows on from step 204 of FIG. 26.

Then, at step 502 the total number of revolutions in the K^(th) block(R_(k)) is calculated. This value is used to track the total number ofrevolutions in each direction and provides information that is requiredto determine the relative position of any hidden shafts.

If the revolutions in the K^(th) block are in the forward direction, atdecision step 510, the number of revolutions in the forward direction isincremented by the number of revolutions in the current block, at step511. Alternatively, if the revolutions in the K^(th) block are in thereverse direction, at decision step 510, the number of revolutions inthe reverse direction is incremented by the number of revolutions in thecurrent block, at step 513. For both foregoing cases, processingcontinues at step 302 of FIG. 27. Determination of the trigger anddirection of rotation of the shafts of interest are further describedelsewhere in this document.

Referring now to FIG. 27, the trigger information is interpreted todetermine the speed and acceleration of the revolutions that occurduring the K^(th) block, at step 301. Step 301 follows on from step 202of FIG. 26.

The speed, acceleration and directional information are analysed at step302. If the current direction is not required and/or the speed andacceleration values are not within the desired range (NO), at decisionstep 302, the K^(th) block for each channel is deleted from memory atstep 309. Then, the data acquisition block number (K) is incremented atstep 310. Processing subsequently continues at steps 201 and 203, ofFIG. 26, for processing of the next block (K+1).

The first time that the data collected falls within the specified speedand acceleration range and is in a direction that is required (YES), atdecision step 302, the data is stored in memory. Every subsequent blockof data that is adjacent in the time domain to the previous block ofdata within the desired speed, acceleration and direction parameterswill be appended to the end of the previous block at step 304.

This process results in a continuous segment of data (in the timedomain) that is within the acceleration, speed and directionalrequirements. This segment is referred to as an SD-Section (Speed &Direction Section). When the consecutive blocks no longer have the samedirection and/or no longer fall within the same speed and accelerationconditions a new SD-Section is started. This process is controlled bysteps 303, 307 and 308.

Step 303 checks whether the previous valid block was adjacent (in thetime domain) to the current block. If not, the previous SD-Section isexported at step 307 to step 350 in FIG. 29 for additional processing.Thereafter, the SD-Section number (L) is incremented at step 308 andcontinues at step 304.

After each block is appended to the current SD-Section at step 304, thenumber of useable revolutions of each shaft is computed at step 305. Thenumber of useable revolutions of the hidden shafts is computed using analgorithm that tracks the shafts relative position and determines thenumber of complete and continuous revolutions of the hidden shaft.

At step 306 the actual number of revolutions of each shaft in eachdirection is tested. If the number of lo revolutions in the currentdirection exceeds the total number required for that direction (YES),the direction parameter will be changed at step 312 to “no longerrequired”. This signifies to the control program not to process any moredata in the particular direction as sufficient revolutions have beencollected.

Next, at step 311, it is determined whether sufficient revolutions foreach direction and each shaft been been collected. If YES, the processstops collecting data at step 313 and moves on to step 650 of FIG. 30,where the program waits for all the SD-Sections to be resampled andappended to the appropriate SDNU (Speed Direction Normalised Unit). IfNO, additional revolutions are still to be collected and the blocknumber (K) is incremented at step 310. Processing then continues atsteps 201 and 203, of FIG. 26, in respect of the next block.

FIG. 29 shows additional detail relating to step 307 of FIG. 27, whichrelates to processing of the data of a previous SD-Section while data ofa current SD Section is collected.

At step 350, the arrival times (ie. the times at which a shaft passesthe shaft's original trigger point) are computed for each of the shafts.

At steps 361, 371 and 381 the current SD-Section data for eachrespective channel is recalled from memory. Then, at steps 362, 372 and382, the SD-Section data for each respective channel is resampled intothe angle domain. The resampling process is further discussed elsewherein this document.

At steps 363, 373 and 383, the time domain SD-Section data for eachrespective channel is deleted from memory, leaving only the resampledangle domain SD-Section data in memory.

Steps 142, 144 and 146 of FIG. 1, steps 501 to 513 of FIG. 28 and steps600, 610 and 620 of FIG. 29 constitute the process of DirectionNormalisation. The direction of the data in the current SD-Section wasidentified at steps 501 to 513 of FIG. 28.

Returning now to FIG. 29, the successive portions of data relating tothe same direction are grouped together by appending successive portionsto an accumulation of previous data portions also relating to thatdirection, at steps 600, 610 and 620. The data in this format isreferred to as a Speed Direction Normalised Unit (SDNU).

Similarly, when an SD-Section has a different direction (ie. forward inthe first case and reverse in the second case), as shown in FIG. 1 assteps 144 and 146, the successive portions of data relating to thatdirection are grouped together by appending successive portions to anaccumulation of previous data portions also relating to that direction.

A SDNU will exist for every channel and every direction available forthat channel. The portions of data are grouped in such a way that thefirst sample of each successive portion appended corresponds to theposition of the reversible drive immediately following the position ofthe reversible drive corresponding to the last sample of the dataportion last appended.

The synchronous components of each SDNU are continuous because eachSD-Section is continuous in both the angle and time domains and wheneach SD-Section is appended to form an SDNU, the angle domain continuity(ie. synchronous components) is maintained. As explained elsewhere inthis document, such continuity is imperative for the process of timesynchronous averaging.

The appending of SD-Sections to create an SDNU does, however, causediscontinuities in any non-synchronous components. These discontinuitiesoccur at the point where two SD-Sections are appended and occur as aresult of non-synchronous components not repeating over each revolution.Hence, the phase of these non-synchronous components will change when abreak in the time domain data collection process occurs (ie. whenSD-Sections are appended).

If all the components of the signal are not continuous, the ordertracking or demodulation process may result in spurious components inthe FFT spectrum. This is due to the fact that the FFT process assumes asignal to be continuous over the period of the signal analysed.

At steps 601, 611 and 621 the length of the current SD-Section iswritten to the header of that SD-Section. This information is used totrack the location of any discontinuities and can either be used toavoid discontinuities when processing the SDNU's, smooth thediscontinuities, remove the discontinuities, or understand the effect ofthe discontinuity on the FFT. Subsequent processing continues at step308 of FIG. 27.

Referring now to FIG. 30, the program waits for all revolutions in everyrequired direction on every shaft to be collected & resampled into theangle domain, at step 650. This program step is subsequent to step 314of FIG. 27. When all the data is available, signal conditioning occurson every SDNU at steps 800 and 850 for the respective directions. Signalconditioning of the data is performed to eliminate the effects ofaliasing and spectral leakage. During resampling, the number of samplesis increased relative to the number of original samples (ie. upsamplingusing cubic interpolation). A digital low-pass filter is thus applied tothe data to remove any frequencies above those that can be accuratelyrepresented by data sampled at the original sampling rate in accordancewith the Nyquist criterion. However, aliasing errors due to resamplingwill be attenuated by the time synchronous averaging process. Theresampled waveform is filtered by a low pass 9^(th) order Butterworthfilter to remove frequencies above half the original sampling frequency,thus avoiding errors due to aliasing.

Leakage occurs when performing a Fast Fourier Transform (FFT) and is dueto the fact that the data is sampled over a finite time period and thefrequency components are cut in mid-cycle. Leakage is reduced by thetechnique known as windowing the signal. Windows used include Hanning,Hamming, seven Term B-Harris, four Term B-Harris, Flat Top, Blackman,Exact Blackman and Blackman-Harris.

At steps 900 and 950 of FIG. 30 and steps 164 and 166 of FIG. 1, thedata accumulated in the respective directions undergoes signalprocessing. The signal processing is typically comprised of standardvibration analysis techniques. One technique of analysis involvesaveraging the filtered time waveform in the time domain to produce aTime Synchronised Average. Then, an orders FFT is computed on thedigital TSA time waveform, thus identifying the spectrum of frequenciesthat are integer multiples of shaft rotation frequency. The Kurtosis canalso be computed, using the data of the digital TSA time waveform.

Another technique of analysis involves use of the resampled data toproduce an Order Tracked spectrum that is averaged in the frequencydomain. This requires transformation of the data to the frequencydomain, by means of an FFT, prior to signal averaging.

At steps 1000 and 1050 of FIG. 30 and steps 174 and 176 of FIG. 1, thedata processed in the forward and reverse directions, respectively, isoutput to a display monitor or printer for human visual analysis. Theinterpretation of vibration signals is a highly skilled art thatrequires extensive machinery knowledge and a detailed understanding ofmechanical vibrations. Certain known correlations can be applied topredict incipient failures. For example, a specific type of faultcondition may be identifiable by a specific vibration signature.Furthermore, the extent of existing damage may be related to themagnitude of one or more specific frequency components.

However, it will be apparent to those skilled in the art that variationsto the manner of output of the processed data can be made withoutdeparting from the scope and spirit of the invention. For example, theprocessed data may undergo further processing to; smooth anydiscontinuities within SDNUs, remove discontinuities within SDNUs, or tofacilitate classification of predefined fault conditions bymachine-based correlation of acquired vibration signatures with storedvibration signatures, where characteristics of the stored signatures arerepresentative of specific fault conditions.

The further processed data can be used to provide alarm levels by meansof visual and/or audible indicators. The alarm levels can be categorisedinto warning, danger and shutdown categories. The shutdown category maybe the level at which the machine is automatically shutdown to avoidcatastrophic failure.

Shaft Tracking

FIGS. 31, 32 and 33 show software program code for tracking the positionof any intermediate shafts that may be buried in a gearbox by trackingthe number of forward and reverse rotations of a reference shaft. Theprogram code is written in Labview™, which is a graphical programminglanguage developed by National Instruments. The term “buried shaft”refers to a shaft that cannot be externally accessed for generation of atrigger. This program code is thus only necessary in cases where theshaft of interest is a buried shaft. In cases where the trigger can bedirectly derived from the shaft of interest, there is no need to trackthe relative shaft position as the trigger pulse indicates the zerodegree position of the shaft of interest.

The zero degree position of the buried shaft is the point at which thereference shaft is at its zero degree position for the first time in thedata acquisition window. The zero degree position of the buried shaftwill not always occur when the reference shaft is at its zero degreeposition because the buried shaft rotates at a different speed to thereference shaft, and it is for this reason that it is imperative thatthe number of forward and reverse rotations of the reference shaft aretracked to determine the nett position of the buried shaft. The nettposition of the buried shaft references where the zero degree locationof the buried shaft occurs in relation to the reference shaft. Trackingof the zero degree position of the buried shaft ensures that, in caseswhere the shaft changes direction more than once, the first sample afterresampling into angle domain will always correspond to the same positionof the buried shaft.

The inputs to this portion of program code are the arrtime array, theNett Revolutions at end of First Valid Cycle, the Speed Ratio and theDirectionality. The arrtime array is an array of arrival times for thereference shaft (trigger shaft) that relate to the zero degree positionof the reference shaft in the SD_Section. As stated elsewhere in thisdocument the SD_Section is a section of vibration data that is collectedunder specific desirable speed, acceleration and direction conditions.The variable Nett Revolutions at end of First Valid Cycle represents thenett revolutions that the reference shaft (trigger shaft) has undergonefrom the beginning of the entire data acquisition process. This includesthe first cycle in the current SD_Section (ie. the cycle from the firstarrival time to the second arrival time). The Speed Ratio is the ratioof the buried shaft speed to the reference shaft speed (Buried ShaftSpeed/Reference Shaft Speed). The directionality input is a booleancontrol variable that states the direction of rotation of theSD_Section: True for Forward and False for Reverse.

Referring to FIG. 31, the directionality of the current SD_Section isread and interpreted at step 110. If the current direction is forward(True), case 110 outputs a value 1 and if reverse, case 110 outputs a isvalue of −1. The output value is used at step 120 to set up an array ofindexes that relate the arrival times (arrtime) to the position of theburied shaft. This is achieved by multiplying the relative rotationposition of the reference shaft by the Speed Ratio. The indices thatrelate the arrival times to the relative position of the buried shaftare then sent to steps 150 and 130.

The code between steps 120 and 130 (comprising steps 121 to 123)essentially extracts the maximum and minimum values in the array. Thesemaximum and minimum values are then used at step 130 to determine thebeginning and end of the SD_Section. Whether the maximum value is thebeginning or the end of SD_Section depends on the directionality of thecurrent SD_Section. If the direction is forward, case 130 is true andcase 131 is processed to determine if the reference to the firstrevolution should be incremented by 1 or not. If the remainder of thedivision at step 123 is zero then the first value will not need to beincremented at step 131, however, if the remainder of the division atstep 123 is not zero then the first value will need to be incremented by1 at step 131. This is due to the fact that the result of the integerquotient at step 123 is 1 below the first complete revolution of theburied shaft, in the case. A similar process is followed at step 130 ifthe directionality of the current SD_Section is reverse.

The output from step 130 is a start and end integer that is used in step140 to generate an array of integers that relate to the zero degreeposition of the buried shaft. These values are used to interpolate theresults of step 160 and to find the arrival times of the zero degreeposition of the buried shaft.

At case 160, the cluster containing the arrival times and the index ofrelative positions of the buried shaft will be reversed if the directionof the current SD_Section is reverse. If the direction of the currentSD_Section is forward then there is no need to reverse the cluster asthe relative positions of the buried shaft are already in ascendingorder.

The final step in the program is to interpolate the arrival times andrelative positions of the buried shaft to determine the times at whichthe buried shaft is at a zero degree position. The buried shaft arrivaltimes are referred to in the program code as the shaft of interestarrival times (shoiarrtime) and are later used in conjunction with thevibration data sampling times to resample the vibration data into theangle domain where the angle domain for these cases relates to theburied shaft (ie. 0 to 360 degrees of the buried shaft).

Harrison Lathe Example

TSA was performed on a 30-year-old Harrison lathe, using an embodimentof the invention, to demonstrate the effect of minor faults on the timewaveform and frequency spectrum.

The gearbox of the lathe includes a drive shaft, an intermediate shaftand an output shaft with three gears thereon. The first analysis is ofthe reverse direction side of gear 2, which is located on the outputshaft and has 49 teeth. Gear 2 is the output gear for the most commonmachining speed in the gearbox and therefore represents the most wellused gear in the gearbox.

FIGS. 3 and 4 show a typical tooth profile of gear 2. FIG. 4 shows anenlarged view of a gear tooth 310, shown in FIG. 3. The whole gear showszones of localised adhesion, abrasive wear and polishing. Zones oflocalised adhesion 410 and 420 are shown in FIG. 4. It is most likelythat adhesion occurred first, resulting in fine particles being removedfrom the surface of the teeth that have caused subsequent abrasive wearand polishing. The tooth also shows signs of moderate plastic metal flow430 in FIG. 4.

Deviations from a perfect tooth profile result in smeared and unevenpeaks in the TSA time waveform due to the contact between the twomeshing teeth no longer being smooth. Additional vibrations areintroduced as the uneven surfaces slide past each other. The TSAwaveform of FIG. 5, after 500 averages, clearly shows a spike in energybetween 180 and 200 degrees and FIG. 6 shows the teeth that these spikescorrespond to.

The teeth corresponding to the spike in energy between 180° and 200°demonstrate characteristics that likely contribute to the increasedvibration magnitude seen in FIG. 5. The first is a very deep groove 650,as shown in FIG. 6. As the gear box has no clutch, and the gears simplyslide into each other during changing, it is most likely that the groove650 resulted from a gear change that occurred whilst the gears werestill rotating. It appears that the corner of the meshing gear hascollided with this gear, whilst trying to lock mesh. As rotationcontinued, and the gear moved further in towards full mesh, the angle onthe tooth shown in FIG. 6 has been scratched. This representsnon-localised adhesive wear. Localised adhesive wear damage 620 and 630and rolling contact fatigue damage 640 is also shown in FIG. 6. The wearlikely contributes to the spikes of energy shown in FIG. 5.

FIG. 7 shows the Order Tracked spectrum for the Time SynchronisedAverage and has a number of sidebands associated with the tooth meshingorder. These sidebands can be attributed to any of non-uniform wear onthe gear teeth, tooth damage, and incorrect spacing between gears. It istooth damage, in this case, that caused the orders around tooth mesh tohave relatively high magnitudes. If the gear were in better condition,the side bands around tooth-meshing order would have smaller relativeamplitudes.

A spectrum for a perfect tooth profile would approximate a sine wavewith frequency corresponding to the tooth meshing frequency or one ofits harmonics. However, as no gear is perfect, there will always bedeviations from the perfect profile. The time synchronous average ofgear 3 in the reverse direction, after 500 averages, is shown in FIG. 8.Gear 3 has 81 teeth and is also located on the output shaft. FIG. 8 hasa much smoother profile, compared to FIG. 5, and provides a good exampleof a time waveform for a gear in relatively good condition.

The TSA time waveform of FIG. 8 has very distinct peaks on either sideof 100°. The tooth just before 100° is the 22^(nd) tooth, therefore thepeaks 810 and 820 on either side correspond to the 21^(st) and 23^(rd)teeth, respectively. Distinct rolling contact fatigue damage or possiblyhard particle ingress damage on the 21^(st) tooth 940 and the 23^(rd)tooth 910 is shown in FIG. 9. FIG. 10 shows an enlarged view of rollingcontact fatigue damage or possibly hard particle ingress damage 1010 and1020 sustained on the 23^(rd) tooth 910 of FIG. 9. The 22^(nd) tooth,located between the 21^(st) tooth 940 and the 23^(rd) tooth 910 appearsto be in good condition.

The TSA time waveform in FIG. 8 also shows a distinct peak 830corresponding to the 9^(th) tooth. This peak is most likely attributableto the small hard particle indentation 1110 shown in FIG. 11. It ispossible that the indentation was caused by a piece of the mating gearthat may have been chipped off whilst attempting to change gears inmotion.

FIG. 12 shows the spectrum of the TSA for gear 3 (after 500 averages),including a very sharp peak at 81 orders, which is the fundamental toothmeshing order. Additionally, no side bands can be seen as the ordersaround the tooth meshing order have very low magnitude. This confirmsthat gear 3 is in good condition.

Friction Winder Gearbox Example

A further analysis was conducted on a six-month-old gearbox of afriction winder capable of lifting 10 tonnes of ore from an undergroundgold mine. The skip is counter balanced with a 10 tonne mass, thereforethe gearbox is under the greatest load when the skip is empty andtravelling down.

The analysis was of the input shaft drive. An accelerometer wasinitially mounted in the vertical direction above the drive end bearing(output end). The resulting TSA time waveform for the reversingdirection, after 500 averages, is shown in FIG. 13, which exhibitsdistinct peaks 1310 around 90°. An inspection of the gear, which has 17teeth, revealed minor defects on the tooth that corresponds to thisposition. The tooth that corresponds to the peaks 1310 around 90° has alarge indentation 1410 on the ridge, as shown in FIGS. 14 and 15. FIG.15 shows an enlarged view of the indentation 1410 shown in FIG. 14,which most likely occurred during installation of the gear.

FIG. 16 shows the resulting TSA time waveform for the reversingdirection, after 500 averages, with the accelerometer mounted in thevertical direction at the drive end of the shaft. As the gear is locatedtowards the output side of the gear box, the TSA time waveform conductedon data collected above the output side bearing, as per FIG. 13, showsthis fault more clearly. FIG. 16 shows the magnitudes as much smallerand less distinct.

The orders spectrum for gear 3 is shown in FIG. 17. It can be seen thatthe dominant meshing harmonics for gear 3 are the 4^(th) harmonic 1710and the 5^(th) harmonic 1720 of the tooth meshing frequency. Thisexplains why there are so many peaks, in fact there are between 4 and 5peaks for each tooth. The tooth that corresponds to 180° also has aminor defect in that a very small spot exists where minor abrasive wearhas occurred. It is further likely that there are defects on other teethin the gearbox, as there are other definite spikes at 5° and 290°.

Convergence

The optimum number of Time Synchronised Averages corresponds to theminimum number of averages that are required to remove sufficient noiseand non-synchronous vibrations and display the essential characteristicsof the TSA time waveform. There is a trade off between the number ofaverages and the cost of data collection. Essentially the more averagesthat are collected, the longer it will take to collect the data and thegreater the cost of performing the analysis will be. This isparticularly the case with reversible drives as some data collectedwhilst the drive is decelerating, changing direction and thenaccelerating can not be processed.

In practice, the minimum acceptable number of averages will varyaccording to the characteristics of a particular machine. However, ithas been shown that doubling the number of averages reduces the signalto noise ratio by a factor of √2. Thus, the minimum acceptable number ofaverages will also depend on the gearbox, itself, as the signal to noiseratio is different for every gearbox.

A known algorithm can be used to determine the number of averagesnecessary before the TSA time waveform begins to stabilise. Thealgorithm analyses a simplified correlation coefficient between thecumulative average (after N averages) and the cumulative average afterN/2 averages, where N is generally every number of averages that is apower of 2. The algorithm is shown below:

Stop averaging if:

$L > {1 - \frac{\sum\limits_{j = {N - 50}}^{N}{x_{n,j} \times x_{{n/2},j}}}{\sum\limits_{j = {N - 50}}^{N}x_{n,j}^{2}}}$

-   where: L=leakage rate (by definition)-    x_(n,j)=j^(th) point in the current average at n revs-    x_(n/2,j)=j^(th) point in the average at n/2 revs-    N=number of points in the average

The algorithm was tested by conducting TSA on a noisy gearbox, as moreaverages are required for the case of a high signal to noise ratio. Thealgorithm predicted that convergence for a particular gear had occurredafter 4 to averages. This was because after 4 averages the leakagefactor was 0.037, which is less than a leakage factor of 0.05 ascalculated according to the algorithm.

FIG. 18 shows the TSA Time Waveforms for 4 averages and 4000 averages. Acomparison of the waveforms indicates that the main characteristics aresubstantially the same. However, differences do exist, suggesting thatthe calculated leakage factor of 0.05 is too high and should bemodified.

In order to determine a more appropriate leakage value, the TSA timewaveform correlation coefficient between every average and the TSA after4000 averages was calculated. As the TSA time waveform approaches thatof the 4000 average TSA, the correlation coefficient will approach avalue of one. How quickly this occurs indicates the effect eachadditional average has on the characteristics of the TSA time waveform.

FIG. 19 shows a graph of the correlation coefficient versus the numberof averages. The highest correlation coefficient achieved to threesignificant figures was 0.989. This occurred after 63 averages, thussuggesting the time waveform after 63 averages provides a very goodrepresentation of the characteristics of the gear.

FIG. 20 shows a plot of a TSA time waveform after 63 averagessuperimposed on a plot of a TSA time waveform after 4000 averages. FIG.20 illustrates that the characteristics of the two time waveforms areessentially the same. The leakage factor after 63 averages is 0.0001.Thus, to achieve this level of accuracy, the leakage should be set to0.0001.

The foregoing algorithm assumed that the mean for each set of datapoints was zero. This assumption was presumably made to simplify thecalculation of the correlation coefficient and reduce the computationtime. Whilst the foregoing algorithm only analysed the last 50 samplesto allow for ‘droop’, the modified version described hereinafter usesall the sample points in the calculation to ensure that the correlationcoefficient is affected by any deviations in the time waveformregardless of where the deviations occur. Furthermore, the modifiedversion of the algorithm described hereinafter eliminates the assumptionthat the mean value for each set of data is zero.

The modified version of the algorithm is as follows: Stop averaging if:

$L > {1 - \frac{\sum\limits_{j = 1}^{N}{\left( {x_{n,j} - \overset{\_}{x_{n,j}}} \right) \times \left( {x_{{n/2},j} - \overset{\_}{x_{{n/2},j}}} \right)}}{\sqrt{\sum\limits_{j = 1}^{N}\left( {x_{n,j} - \overset{\_}{x_{n,j}}} \right)^{2}} \times \sqrt{\sum\limits_{j = 1}^{N}\left( {x_{{n/2},j} - \overset{\_}{x_{{n/2},j}}} \right)^{2}}}}$

-   where: L=leakage rate (by definition), typically set to 0.05-    X_(n,j)=j th point in the current average (n revs)-    X_(n/2,j)=j^(th) point in the average at n/2 revs-    N=number of points in the average

FIG. 21 shows a plot of the leakage value versus the number of averages,using the modified version of the algorithm. It can clearly be seen thisplot that, after 63 averages, the modified leakage factor is stillimproving, however, after 100 averages the modified leakage factorchanges very little. Thus, the leakage factor that should be used withthe modified version of the algorithm to ensure that optimum convergencehas occurred is 0.0007, this value representing the leakage factor after100 averages.

To confirm validity of the modified algorithm, an analysis of the meanmagnitude difference was conducted. This involved calculating the meandifference between each data point and the corresponding data pointafter 4000 averages. This method demonstrates the difference in themagnitudes of the time waveforms but does not give a particularly goodindication of how accurately the essential characteristics aredisplayed. The correlation coefficient is likely a better indicator, asin most cases it is more important that the characteristics areaccurately shown than the magnitudes.

FIG. 22 shows a graph of the mean difference in magnitude between theTSA time waveform of a varying number of averages and the TSA TimeWaveform for 4000 averages. After 100 averages the mean magnitudedifference has stabilised and is only −0.6 g's, whereas after 63averages, the mean magnitude difference is still fluctuating at around−1.2 g's. The analysis of the mean difference suggests that, for thiscase, around 100 averages are sufficient to remove the majority of thenoise and non-synchronous components.

FIG. 23 shows that the TSA time waveform from 100 averages accuratelyillustrates the gear signature, whilst showing a reasonablerepresentation of the magnitudes when compared to a corresponding TSAwaveform from 4000 averages. FIG. 24 shows that the TSA time waveformfrom 500 averages exhibits an even greater accuracy when compared to thecorresponding TSA waveform from 4000 averages. The correlationcoefficient between 500 averages and 4000 averages is 0.988 and the meanmagnitude difference was −0.156 g's.

As discussed previously, the optimum number of averages required isdependent on the signal to noise ratio and the magnitude ofnon-synchronous components. These two factors are a function of theactual gearbox under evaluation. The optimum number of averages istherefore dependent on a specific gearbox and an analysis similar tothat presented hereinafter should be conducted to determine the optimumnumber of averages for each individual gearbox.

Computer Implementation

The method for analysing vibrations of reversible drives can beimplemented using a computer program product in conjunction with acomputer system 2500 as shown in FIG. 25. In particular, the method foranalysing vibrations of reversible drives can be implemented assoftware, or computer readable program code, executing on the computersystem 2500.

The computer system 2500 includes a computer 2550, a video display 2510,and input devices in the form of a computer keyboard 2530 and a computermouse 2532. In addition, the computer system 2500 can have any of anumber of other output devices including line printers, laser printers,plotters, and other reproduction devices connected to the computer 2550.The computer system 2500 can be connected to one or more other computersvia a communication interface 2564 using an appropriate communicationchannel 2540 such as a modem communications path, an electronic network,or the like. The network may include a local area network (LAN), a widearea network (WAN), an Intranet, and/or the Internet 2520.

The computer 2550 includes the control module 2566, a memory 2570 thatmay include random access memory (RAM) and read-only memory (ROM),communications interface 2564, input/output (I/O) interface 2572, avideo interface 2560, and one or more storage devices generallyrepresented by the storage device 2562. The control module 2566 isimplemented using a central processing unit (CPU) that executes or runsa computer readable program code that performs a particular function orrelated set of functions.

The video interface 2560 is connected to the video display 2510 andprovides video signals from the computer 2550 for display on the videodisplay 2510. User input to operate the computer 2550 can be provided byone or more of the input devices 2530, 2532 via the I/O interface 2572.For example, a user of the computer 2550 can use a keyboard as I/Ointerface 2530 and/or a pointing device such as a mouse as I/O interface2532. The keyboard and the mouse provide input to the computer 2550. Thestorage device 2562 can consist of one or more of the following: afloppy disk, a hard disk drive, a magneto-optical disk drive, CD-ROM,magnetic tape or any other of a number of non-volatile storage deviceswell known to those skilled in the art. Each of the elements in thecomputer system 2550 is typically connected to other devices via a bus2580 that in turn can consist of data, address, and control buses.

A data acquisition module (not shown) can also be connected to the bus2580, either directly or via the I/O interface 2572. The dataacquisition module typically includes multiple input and output channelsfor simultaneously sampling input signals and delivering output signals.

The method steps for analysing vibrations of reversible drives areeffected by instructions in the software that are carried out by thecomputer system 2500. Again, the software may be implemented as one ormore modules for implementing the method steps.

In particular, the software may be stored in a computer readable medium,including the storage device 2562 or that is downloaded from a remotelocation via the interface 2564 and communications channel 2540 from theInternet 2520 or another network location or site. The computer system2500 includes the computer readable medium having such software orprogram code recorded such that instructions of the software or theprogram code can be carried out.

The computer system 2500 is provided for illustrative purposes and otherconfigurations can be employed without departing from the scope andspirit of the invention. The foregoing is merely an example of the typesof computers or computer systems with which the embodiments of theinvention may be practised. Typically, the processes of the embodimentsare resident as software or a computer readable program code recorded ona hard disk drive as the computer readable medium, and read andcontrolled using the control module 2566. Intermediate storage of theprogram code and any data including entities, tickets, and the like maybe accomplished using the memory 2570, possibly in concert with thestorage device 2562.

In some instances, the program may be supplied to the user encoded on aCD-ROM or a floppy disk (both generally depicted by the storage device2562), or alternatively could be read by the user from the network via amodem device connected to the computer 2550. Still further, the computersystem 2500 can load the software from other computer readable media.This may include magnetic tape, a ROM or integrated circuit, amagneto-optical disk, a radio or infra-red transmission channel betweenthe computer and another device, a computer readable card such as aPCMCIA card, and the Internet 2520 and Intranets including emailtransmissions and information recorded on Internet sites and the like.The foregoing are merely examples of relevant computer readable media.Other computer readable media may be practised without departing fromthe scope and spirit of the invention.

The method for analysing vibrations of reversible drives can be realisedin a centralised fashion in one computer system 2500, or in adistributed fashion where different elements are spread across severalinterconnected computer systems.

Computer program means or computer program in the present context meanany expression, in any language, code or notation, of a set ofinstructions intended to cause a system having an information processingcapability to perform a particular function either directly or aftereither or both of the following: a) conversion to another language, codeor notation or b) reproduction in a different material form.

The foregoing describes only a few arrangements and/or embodiments ofthe present invention, and modifications and/or changes can be madethereto without departing from the scope and spirit of the invention,the arrangements and/or embodiments being illustrative and notrestrictive.

TABLE 1 Arrival Times Script 1 function[forward_averages,reverse_averages,final_sample_time,total_forward_arriv,total_reverse_arriv,minspeedout,arrtime,arrtime2]=arrivaltimes(S1,S2,fs,avgsfwd,avgsrev,sr,begin_sample_time, minspeedin)% THIS PROGRAM CALCULATES THE ARRIVIL TIMES OF EACH TACHO PULSE, THENUMBER OF CONSTANT SPEED REVOLUTIONS AND THE % MINIMUM SPEED TODETERMINE THE MINIMUM NUMBER OF SAMPLE POINTS TO AVOID ALIASING % THEDATA REQUIRED IS % S1 = SIGNAL FROM HIGH QUALITY REFERENCE PULSE WHICHPULSES ONCE PER REVOLUTION % S2 = SECOND SIGNAL WHICH CAN BE FROM A LOWQUALITY PULSE GENERATOR, IT IS USED TO DETERMINE DIRECTION. % fs = THESAMPLING RATE THE DATA WAS COLLECTED AT % avgsfwd = THE NUMBER OFDESIRED FORWARD AVERAGES TO CALCULATE % avgsrev = THE NUMBER OF DESIREDREVERSE AVERAGES TO CALCULATE % sr = THE PERCENTAGE SPEED VARIATIONALLOWED BEFORE THE DATA IS DEEMED IN AN ACCELERATION OR DECELERATIONZONE % begin_sample_time = THE SAMPLE TIME OF THE FIRST SAMPLE POINT INTHIS EXPORT TO MATLAB RELATIVE TO THE FIRST SAMPLE % TIME IN THERECORDED DATA SET % minspeedin = THIS INPUTS THE MINIMUM SPEED FOUNDFROM THE DATA ANALYSED SO FAR S1=S1′; S2=S2′; DT=1/fs;final_sample_time=length(S1)*DT+begin_sample_time; %THIS SECTIONCOMPUTES THE ARRIVAL TIMES OF THE SHAFT PULSES [arrtime] =arrtimes(S1,DT,begin_sample_time); %REFERENCE PULSE [arrtime2] =arrtimes(S2,DT,begin_sample_time); % SECOND PULSE - IT IS USED TODETERMINE DIRECTION OF ROTATION S1=[ ]; %This removes Matrix S1 from thememory after it has been used S2=[ ]; %This removes Matrix S2 from thememory after it has been used clear S1 S2; %This ensures the pulse timewaveforms are removed from memory %THIS SECTION SETS UP MATRICES TO BEUSED TO DETERMINE ROTATIONAL SPEED AND ACCELERATING PERIODStsleft=[arrtime([1:length(arrtime)−2])]; %This is to remove the finalpulse time so the matrix size is the same as tsright.tsright=[arrtime([2:length(arrtime)−1])]; % to shift the matrix by onedata point so we can look at the time difference between pulses.testbottom=(tsright−tsleft)*(1−sr); %This is to determine lower limit oftime per revolution variation before it is deemed to be acceleratingtesttop=(tsright−tsleft)*(1+sr); % This is to determine the upper limitof time per revolution variation before it is deemed to be deceleratingtestmid=tsright−tsleft; %This creates a matrix of the mid point of timeper rev (speed) variation to be used as a comparator clear tslefttsright %This clears these values from memory %This section simplyintialises the variables j=3; %this is done so the first 3 rotations areignored. i=3; xref=1;. %this describes the location of the second pulsein the string of pulse times relative to the reference pulse x=1; %thissimply helps to located the second pulse in the string of pulse timesrelative to the reference pulse. total_forward_arriv=[ ]; %this is toinitialise the arrival matrix total_reverse_arriv=[ ]; %this is toinitialise the arrival matrix in the reverse direction countspeed=0;%This is to keep track of the number of revolutions at each speedspeedfor=[ ]; %this sets the matrix of forward speeds to be emptyspeedrev=[ ]; %this sets the matrix of reverse speeds to be emptyspeed=[ ]; current_for_avgs=0; %This sets the current number of forwardaverages to zero current_rev_avgs=0; %This sets the current number ofreverse averages to zero mean_forward_speed=[ ]; mean_reverse_speed=[ ];forward_averages=[ ]; reverse_averages=[ ]; % THIS IS SECTION OF THEPROGRAM ACTUALLY CALCULATES THE CONSTANT VELOCITY SECTIONS ANDDETERMINES THE % NUMBER OF FORWARD CONSTANT SPEED REVOLUTIONS, THENUMBER OF REVERSE CONSTANT SPEED REVOLUTIONS AND % THE MINIMUM SPEEDwhile ((2<j) & (j<(length(arrtime)−2))) % THIS SECTION FIRST TESTS THATIT IS ROTATING AT A CONSTANT SPEED WITHIN THE ALLOWABLE VARIATION i=j+1;if ((testmid(j)<testtop(i)) & (testmid(j) > testbottom(i)));countspeed=0; speed=[ ]; %Now determine the period which it maintainsthis speed for while ((testmid(j)<testtop(i)) &(testmid(j)>testbottom(i)) & (i<(length(arrtime)−6)));countspeed=countspeed+1; speed(countspeed)=(1/testmid(i)); i=i+1; % toincrease each step until no longer constant velocity end if 3<(i−j)%THIS SIMPLY CUTS OUT ANY CONSECUTIVE CONSTANT SPEED INFORMATION IF THENUMBER OF REVOLUTIONS IS LESS THAN 3 %IT IS REQUIRED BECAUSE THERESAMPLING PROGRAM REQUIRES ATLEAST 3 ROTATIONS if (x<length(arrtime2) &j<length(testmid) & j<length(arrtime)) %This checks that the x and jvalues are within the range available if they aren't % then an error hasoccured and the break function will exit the loop % THIS FUNCTION CHECKSTHE REFERENCE PULSE AND THE SECOND PULSE ARE CORRECTLY REFERENCED TODETERMINE DIRECTION[xref,x,breaker]=refcheck(j,xref,testmid,arrtime,arrtime2); else breakend if breaker= =0 %This checks to see if the location of the secondreference pulse could not be found xref=1 %this is to set the referenceposition back to default after being changed in the above section whereno second pulse existed else %THE FOLLOWING SECTION CHECKS IF THIS PIECEOF INFORMATION IS IN THE FORWARD OR REVERSE DIRECTION %AND THENRESAMPLES AND PLACES THE DATA IN A MATRIX UNTIL THE FINAL AVERAGINGTAKES PLACE T2=arrtime(j)−arrtime2(x) T1=arrtime2(x)−arrtime(j) if T2<T1%THIS TEST IS TO SEE IF THE INFORMATION IS IN THE FORWARD DIRECTION ifcurrent_for_avgs<avgsfwd %This tests to see if the correct number ofaverages will be reached in this sample section. If they will it sets upthe correct number of samples to give the exact number of averagesdesired if (i−j)>(avgsfwd−current_for_avgs);i=j+(avgsfwd−current_for_avgs); end forward_arriv=[arrtime([j:i+1])];total_forward_arriv=[total_forward_arriv forward_arriv]speedfor=[speedfor speed] new_forward_averages=(length(forward_arriv))−1current_for_avgs=new_forward_averages+current_for_avgs end else % IF THEDATA WAS NOT IN THE FORWARD DIRECTION THEN BY DEFAULT IT MUST BE REVERSEif current_rev_avgs<avgsrev %This tests to see if the correct number ofaverages will be reached in this sample section. If they will it sets upthe correct number of samples to give the exact number of averagesdesired if (i−j)>(avgsrev−current_rev_avgs);i=j+(avgsrev−current_rev_avgs); end reverse_arriv=[arrtime([j:i])]total_reverse_arriv=[total_reverse_arriv reverse_arriv];speedrev=[speedrev speed]; end end end if (current_rev_avgs>avgsrev &current_for_avgs>avgsfwd) break end end j=i; %to set up test conditionsfor next iteration of constant velocity tests end j=j+1; % TO INCREMENTTO THE NEXT SHAFT OF INTEREST ARRIVAL TIME TO CHECK IF CONSTANT VELOCITYAND THEN REPEAT end clear testmid testbottom testtop %THIS CLEARS NOLONGER USED VARIABLES %THIS CALCULATES THE MINIMUM SPEED REVOLUTION ANDEXPORTS IT TO LABVIEW if length(speedfor)>0min_forward_speed=min(speedfor) else min_forward_speed=0.01 end iflength(speedrev)>0 min_reverse_speed=min(speedrev) elsemin_reverse_speed=0.01 end if (min_forward_speed>0.01 &min_reverse_speed>0.01)minspeedout=min(min_forward_speed,min_reverse_speed, minspeedin) else ifmin_reverse_speed>0.01 minspeedout=min(min_reverse_speed,minspeedin) endif min_forward_speed>0.01 minspeedout=min(min_forward_speed,minspeedin)end if min_forward_speed<=0.01 & min_reverse_speed<=0.01minspeedout=minspeedin end endforward_averages=length(total_forward_arriv)reverse_averages=length(total_reverse_arriv)

TABLE 2 Arrival Times Script 2 - Function used in Arrival Times 1function [arrtime] = arrtimes(S,DT,begin_sample_time) % THIS FUNCTIONCALCULATES THE ARRIVAL TIMES OF THE REFERENCE SHAFT GIVEN THE TIME %WAVEFORM CONTAINING THE PULSES FROM A PULSE GENERATOR % S = THE TIMEWAVEFORM CONTAINING THE PULSES GENERATED EACH REVOLTUTION. % DT = THESAMPLING TIME DT=1/Fs WHERE Fs IS THE SAMPLING FREQUENCY % arrtime = ISTHE MATRIX OF ARRIVAL TIMES OF THE REFERENCE SHAFT % This sets theintercept value tmax = max(S); if tmax>0.3 %This is just in case thepulse is smaller than 0.3 volts intercept=0.3; else intercept=0.2*tmaxend % Now Create matrix Sright, which is exactly the same as S but timeshifted by one data point to the right Sright = [S(1);S([1:length(S)−1))]; % THE TIMES AT WHICH THE PULSE TIME WAVEFORMCROSSES THE INTERCEPT ARE CALCULATED init = find(S>intercept &Sright<intercept); % A SHORT MATRIX WITH POINTS EITHER SIDE OF THOSEDETERMINED IN INIT ABOVE IS SET UP. % THE TIMES (WHICH RELATE TO ASAMPLE) ARE THEN INTERPOLATED if length(init)>0 %Only conducts theanalysis if some arrival times to interpolate if init(1)>2 &(init(length(init))+2)<length(S) %This statement ensures there is enoughdata for k=1:(length(init)); %This if statement just ensures there areenough data points ifor((S(init(k))<S(init(k)+1)),(S(init(k))>S(init(k)+1))) %This ensures notwo points are the same because if they are the spline function does notwork y = [S(init(k)−3);S(init(k)−2);S(init(k)−1);S(init(k));S(init(k)+1);S(init(k)+2);S(init(k)+3)]; x =[(init(k)−3)*DT;(init(k)−2)*DT;(init(k)−1)*DT;init(k)*DT;(init(k)+1)*DT;(init(k)+2)*DT; (init(k)+3)*DT];arrtime(k) = interp1q(y,x,intercept); %THIS IS THE MATRIX OF ARRIVALTIMES (SECONDS) end end else %This reduces the end points if such asituation exists where they do not exist for k=3:(length(init)−2) y =[S(init(k)−3);S(init(k)−2);S(init(k)−1);S(init(k));S(init(k)+1);S(init(k)+2);S(init(k)+3)]; x =[(init(k)−3)*DT;(init(k)−2)*DT;(init(k)−1)*DT;init(k)*DT;(init(k)+1)*DT;(init(k)+2)*DT; (init(k)+3)*DT];arrtime(k) = interp1q(y,x,intercept); %THIS IS THE MATRIX OF ARRIVALTIMES (SECONDS) end end arrtime=arrtime+begin_sample_time; end iflength(init)<1 arrtime=[ ] %This gives an empty matrix if no arrivaltimes exist, it avoids error messages end clear tmax S intercept Srightinit x y

TABLE 3 Shaft Of Interest Arrival Time Script function [shoiarrtime] =shoiarrtime (arrtime,REF_TO_INTEREST_RATIO) % THIS FUNCTION CALCULATESTHE ARRIVAL TIMES OF THE SHAFT OF INTEREST GIVEN THE CYCLE TIMES OF THEREFERENCE SHAFT % REF_TO_INTEREST_RATIO = IS THE FIXED VELOCITY RATIOBETWEEN THE PULSE GENERATING REFERENCE SHAFT AND THE SHAFT OF INTEREST %eg reference shaft:shaft of interest => 1:20 => REF_TO_INTEREST_RATIO=20% arrtime = IS THE MATRIX OF ARRIVAL TIMES OF THE REFERENCE SHAFT %shoiarrtime = THE ARRIVAL TIMES OF THE SHAFT OF INTERESTarrtime(1)=[ ];%this removes the first arrival point in the referencepulse % CREATING A MATRIX OF REFERENCE .SHAFT CYCLES refcyc =0:1:(length(arrtime)−1); % NOW CREATE A MATRIX OF CYCLES FOR THE SHAFTOF INTEREST BASED UPON REFERENCE SHAFT CYCLES soicycle =0:REF_TO_INTEREST_RATIO:(length(arrtime)−1); %starts from 1 to ensure noerrors from one pulse comming before the other % USE INTERP1 TO RETURN AMATRIX CONTAINING THE ARRIVAL TIMES OF THE SHAFT OF INTEREST shoiarrtime= interp1(refcyc,arrtime,soicycle,‘linear’);shoiarrtime=shoiarrtime(1:length(shoiarrtime)−1); %This removes the partrevolution on the end. clear refcyc soicycle clear arrtime arrtime2refcyc2 soicycle2

TABLE 4 Resampling Vibration Data Into Forward And Reverse DirectionScript function [mean_forward_speed,mean_reverse_speed,forward_averages,reverse_averages,vtotalforward,vtotalreverse,finalsampletime] =labviewresample(vib,fs,n,avgsfwd,avgsrev,sr,arrtime,arrtime2,beginsampletime); % THIS PROGRAM RESAMPLES THE CONSTANT SPEEDREVOLUTIONS DATA INTO THE ANGLE DOMAIN % THE FORWARD AND REVERSE DATAARE APPENDED INTO SEPARATE MATRIX SO THE RESULT IS % A FORWARDCONTINUOUS ANGLE DOMAIN DATA SET AND A REVERSE CONTINOUS ANGLE DOMAINDATA SET % THE DATA REQUIRED IS; % vib = THE SIGNAL CONTAINING THEVIBRATION INFORMATION EG FROM ACCELEROMETER % fs = THE SAMPLING TIMERATE % n = THE NUMBER OF SAMPLE POINTS PER REVOLUTION. % avgsfwd = THENUMBER OF DESIRED FORWARD AVERAGES TO CALCULATE % avgsrev = THE NUMBEROF DESIRED REVERSE AVERAGES TO CALCULATE % sr = THE PERCENTAGE SPEEDVARIATION ALLOWED BEFORE THE DATA IS DEEMED IN AN ACCELERATION ORDECELERATION ZONE % begin_sample_time = THE SAMPLE TIME OF THE FIRSTSAMPLE POINT IN THIS EXPORT TO MATLAB RELATIVE TO THE FIRST SAMPLE %arrtime = THE MATRIX OF ARRIVAL TIMES FOR PULSE 1 % arrtime2 = THEMATRIX OF ARRIVAL TIMES FOR PULSE 2 DT=1/fs;finalsampletime=(length(vib)*DT)+beginsampletime; %This determines thefinal sample time to be used as the beginning sample time in the nextiteration %THIS SECTION SETS UP MATRIX TO BE USED TO DETERMINEROTATIONAL SPEED AND ACCELERATING PERIODStsleft=[arrtime([1:length(arrtime)−2])]; %to remove the final pulse timeso the matrix size is the same as tsright.tsright=[arrtime([2:length(arrtime)−1])]; % to shift the matrix by onedata point so we can look at the time difference between pulses.testbottom=(tsright−tsleft)*(1−sr); %lower limit of time per revolutionvariation before it is determined to be acceleratingtesttop=(tsright−tsleft)*(1+sr);%upper limit of time per revolutionvariation before it is decided that the shaft is acceleratingtestmid=tsright−tsleft; %mid point of time per rev (speed) variation tobe used as a comparator clear tsleft tsright % CREATE A MATRIX OF PULSETIMES FOR THE ORIGINAL VIBRATION DATA TIME =beginsampletime:DT:finalsampletime; %In the final program with recordedinformation this sets up the time matrix, here it simply replaces thepreviously calculated TIME values in tsa it is set from DT on becausethe arrival time function treats the first point as dt %This sectionsimply intialises the variables j=3; %This is done so the first 3rotations are ignored. i=3; xref=1; %This describes the location of thesecond pulse in the string of pulse times relative to the referencepulse.vtotalforward=[ ];%sets the initial forward matrix to be an emptymatrix x=1; %This simply helps to located the second pulse in the stringof pulse times relative to the reference pulse. vtotalreverse=[ ]; %Setsthe initial reverse matrix to be an empty matrix vtotalforward=[ ];%Sets the initial forward matrix to be an empty matrix countspeed=0;%This is to keep track of the number of revolutions at each speedspeedfor=[ ]; speedrev=[ ]; speed=[ ]; current_for_avgs=0;current_rev_avgs=0; mean_forward_speed=[ ]; mean_reverse_speed=[ ];%this is just to have matlab recognise the variable in the case wherethere is no reverse information. forward_averages=[ ];reverse_averages=[ ]; % THIS IS SECTION OF THE PROGRAM ACTUALLYCALCULATES THE CONSTANT VELOCITY SECTIONS AND SEPARATELY RECORDS THEFORWARD % AND THE REVERSE INFORMATION while ((2<j) &(j<(length(arrtime)−2))) %FIRST TEST THAT IT IS ROTATING AT A CONSTANTSPEED WITHIN THE ALLOWABLE VARIATION i=j+1; if ((testmid(j)<testtop(i))& (testmid(j) > testbottom(i))); countspeed=0; speed=[ ]; %Now determinethe period which it maintains this speed for while((testmid(j)<testtop(i)) & (testmid(j)>testbottom(i)) &(i<(length(arrtime)−6))); countspeed=countspeed+1;speed(countspeed)=(1/testmid(i)); i=i+1; % To increase each step untilno longer constant velocity end if 3<(i−j) %THIS SIMPLY CUTS OUT ANYCONSECUTIVE CONSTANT SPEED INFORMATION IF THE NUMBER OF REVOLUTIONS ISLESS THAN 3 %IT IS REQUIRED BECAUSE THE RESAMPLING PROGRAM REQUIRESATLEAST 3 ROTATIONS if (x<length(arrtime2) & j<length(testmid) &j<length(arrtime)) %This checks that the x and j values are within therange available if they aren't %then an error has occured and the breakfunction will exit the loop % THIS FUNCTION CHECKS THE REFERENCE PULSEAND THE SECOND PULSE ARE CORRECTLY REFERENCED TO DETERMINE DIRECTION[xref,x,breaker]=refcheck(j,xref,testmid,arrtime,arrtime2); else breakend if breaker= =0 %This checks to see if the location of the secondreference pulse could not be found xref=1 %this is to set the referenceposition back to default after being changed in the above section whereno second pulse existed else %THE FOLLOWING SECTION CHECKS IF THIS PIECEOF INFORMATION IS IN THE FORWARD OR REVERSE DIRECTION %AND THENRESAMPLES AND PLACES THE DATA IN A MATRIX T2=arrtime(j)−arrtime2(x)T1=arrtime2(x)−arrtime(j) if T2<T1 %THIS TEST TO SEE IF THE INFORMATIONIS IN THE FORWARD DIRECTION %This tests to see if the correct number ofaverages will be reached in this sample section. If they will it sets upthe correct number of samples to give the exact number of averagesdesired if current_for_avgs<avgsfwd if (i−j)>(avgsfwd−current_for_avgs);i=j+(avgsfwd−current_for_avgs); end if(length(vib)>((max(testmid))*fs*2)) %THis is just a trial to check butessentially it is trying to avoid resample if not enough informationther must be atleast two revolutions of information in this test %THISFUNCTION RESAMPLES THE INFORMATION AND PLACES IT IN A MATRIX CONTAININGTHE FORWARD INFORMATION ONLY [vibforwardnew] =resample(arrtime,j,i,DT,n,TIME,vib); %THIS SIMPLY ADDS THE CURRENTFORWARD DATA TO PREVIOUSLY COLLECTED FORWARD DATAvtotalforward=[vtotalforward vibforwardnew]; current_for_avgs =(length(vtotalforward))/n; speedfor=[speedfor speed]; end end else %Thistests to see if the correct number of averages will be reached in thissample section. If they will it sets up the correct number of samples togive the exact number of averages desired if current_rev_avgs<avgsrev if(i−j)>(avgsrev−current_rev_avgs); i=j+(avgsrev−current_rev_avgs); end if(length(vib)>((max(testmid))*fs*2)) %This avoids resampling if notenough information %THIS FUNCTION RESAMPLES THE INFORMATION AND PLACESIT IN A MATRIX CONTAINING THE REVERSE INFORMATION ONLY [vibreversenew] =resample(arrtime,j,i,DT,n,TIME,vib); %THIS SIMPLY ADDS THE CURRENTREVERSE DATA TO PREVIOUSLY COLLECTED REVERSE DATAvtotalreverse=[vtotalreverse vibreversenew]; current_rev_avgs =(length(vtotalreverse))/n; speedrev=[speedrev speed]; end end end endclear vibforwardnew vibreversenew if (current_rev_avgs>avgsrev &current_for_avgs>avgsfwd) break end end j=i; %to set up test conditionsfor next iteration of constant velocity tests end j=j+1; % TO INCREMENTTO THE NEXT SHAFT OF INTEREST ARRIVAL TIME TO CHECK IF CONSTANT VELOCITYAND THEN REPEAT end %THIS GIVES SOME USEFUL INFORMATION WITH REGARD TOAVERAGE ROTATIONAL SPEED OF DATA ANALSYSED if length(speedfor)>0mean_forward_speed=mean(speedfor) end if length(speedrev)>0mean_reverse_speed=mean(speedrev) endsizefor=length(vtotalforward);%THIS LINE GETS THE SIZE OF THEvtotalreverse MATRIX % %THIS TESTS THE SIZE OF THE vtotalreverse MATRIXTO SEE IF THERE IS ANY REVERSE INFORMATION if sizefor>0forward_averages=sizefor/n; if forward_averages<avgsfwd ‘The maximumnumber of forward averages that can be computed with the given data is’forward_averages else ‘The number of forward averages computed is’forward_averages end else %THIS SIMPLY GIVES A MESSAGE IF NO FORWARDINFORMATION ‘There is no forward information’ forward_averages=0; endsizerev=length(vtotalreverse); %THIS LINE GETS THE SIZE OF THEvtotalreverse MATRIX % %THIS TESTS THE SIZE OF THE vtotalreverse MATRIXTO SEE IF THERE IS ANY REVERSE INFORMATION if sizerev>0 reverse_averages= sizerev/n; if reverse_averages<avgsrev ‘The maximum number of reverseaverages that can be computed with the given data is’ reverse_averageselse ‘The number of reverse averages computed is’ reverse_averages endelse %THIS SIMPLY GIVES A MESSAGE IF NO REVERSE INFORMATION ‘There is noreverse information’ reverse_averages=0; end

TABLE 5 Pulse Reference Check Script function[xref,x,breaker]=refcheck(j,xref,testmid,tsoicl,tsoic2) % THIS FUNCTIONCHECKS THE REFERENCE PULSE AND THE SECOND PULSE ARE CORRECTLY REFERENCEDTO DETERMINE THE DIRECTION OF ROTATION %This is used to tell the mainprogram to move on to the next arrival time of the shaft because if thereference arrival time does not have a corresponding second pulsebreaker=1; %This sets up the initial reference position which is usuallyone position behind x=j−xref; %This simply ensures that x is not lessthan one if x<1 x=1; %This just initialises x to 1 if it is less than 1end % THIS FINDS THE REFERENCE OF THE SECOND PULSE RELATIVE TO THE FIRSTif (((abs((testmid(j))))/2)<(abs(tsoic1(j)−tsoic2(x)))) %This is thetest to determine if the two pulses are consecutive if j>10 x=j−9−xref;%This goes back 11 positions and searches for the correct referenceposition end if j<10 x=1; %This goes back to the begining of the matrixand searches for the reference position if j is less than 10 end while((abs(testmid(j)/2))<((abs(tsoic1(j)−tsoic2(x))))) %This section checks2 pulses either side to find the correct pulse to reference x=x+1; ifx>(length(tsoic2)) x=1; while(((abs((testmid(j))))/2)<(abs(tsoic1(j)−tsoic2(x)))) x=x+1; ifx>(j−xref) %When x reaches this value all the values of x have beenchecked breaker=0; %This is used to send a signal back to the mainprogram to break out of the while loop ‘1AN ERROR OCCURED IN YOUR DATACOLLECTION, THERE IS NO CORRESPONDING SECOND REFERENCE PULSE TODETERMINE DIRECTION OF ROTATION’ break end end end if breaker= =0test=10 break end end end x xref=j−x %This keeps track of the relativeposition of the second pulses time

TABLE 6 Resampling Script function [vibresamplednew] =resample(shoiarrtime,j,i,DT,N,TIME,VIB) % THIS FUNCTION DETERMINES THERESAMPLE TIMES THAT THE ORIGINAL VIBRATION INFORMATION MUST BE RESAMPLEDAT % TO GIVE N SAMPLES PER REVOLUTION IN THE ANGLE DOMAIN % shoiarrtime= THE MATRIX OF ARRIVAL TIMES OF THE SHAFT OF INTEREST % DT = SAMPLINGINTERVAL % N = THE NUMBER OF SAMPLES POINTS REQUIRED FOR EVERYREVOLUTION OF THE SHAFT OF INTEREST % FOR FASTEST COMPUTATIONAL TIMES ITIS BEST THAT N IS A POWER OF 2 % THIS SETS UP A MATRIX OF ARRIVAL TIMESTHAT RELATE TO THIS BLOCK OF FORWARD OR REVERSE INFORMATIONarrtime=[shoiarrtime([j:i])]; % THIS SETS UP VIBRATION MATRIX AND TIMEMATRIX CONTAINING ONLY THE DATA OF INTERESTtest1=find(TIME>shoiarrtime(j−1) & TIME<shoiarrtime(i+1));VIB1=VIB(test1); TIME1=TIME(test1); % THIS SETS UP A DUMMY MATRIX OFPOINTS RELATING TO EACH REQUIRED SAMPLE (N for every rotation)dummy=1:(1/N):length(arrtime); % THIS SETS UP A MATRIX OF POINTS WHICHCORRESPOND TO THE ARRIVAL TIMES MATRIX arrivalpoints =1:1:length(arrtime); % THIS INTERPOLATES TO FIND THE RESAMPLE TIMESresamptimes=interp1(arrivalpoints, arrtime,dummy,‘linear’); % THISRESAMPLES THE VIBRATION DATA AT THE RESAMPLE TIMES vibresampled =interp1(TIME1, VIB1,resamptimes,‘cubic’); % THIS IS TO GET RID OF EXTRAPOINT ON THE END OF INTERPOLATION THAT RESAMPLING CREATESvibresamplednew=[vibresampled ([1:length(vibresampled)−1])]; cleararrtime dummy arrivalpoints resamptimes vibresampled

TABLE 7 Kurtosis Calculation Script function [K]=kurtosis(n,tsa) %THISFUNCTION COMPUTES THE KURTOSIS VALUE FOR THE TIME SYNCHRONOUS AVERAGEavgetsa=mean(tsa); for x=1:n XM(x)=(tsa(x)−avgetsa){circumflex over( )}4; end s=std(tsa); K=(sum(XM))/(n*(s{circumflex over ( )}4));

1. A system for detecting vibration signatures in a reversible drivecomprising: transducer means for acquiring digital data representativeof vibrations in said reversible drive; processor means for identifyingportions of said data; and processor means for grouping together saididentified portions of data in a plurality of groups; wherein each ofsaid identified portions of data relate to a particular direction oftravel of said reversible drive and said plurality of groups relate todifferent directions of travel of said reversible drive.
 2. A computerprogram product having a computer readable medium having a computerprogram recorded therein for detecting vibration signatures in areversible drive, wherein said computer program product comprises:computer program code means for acquiring digital data representative ofvibrations in said reversible drive; computer program code means foridentifying portions of said data; and computer program code means forgrouping together said identified portions of data in a plurality ofgroups; wherein each of said identified portions of data relate to aparticular direction of travel of said reversible drive and saidplurality of groups relate to different directions of travel of saidreversible drive.
 3. A method for detecting vibration signatures in arotating and/or cyclic machinery comprising the steps of: acquiringdigital data representative of vibrations in the machinery, wherein thedata includes data acquired at different speeds of the machinery;identifying portions of the data relating to a predetermined speed andacceleration range of the machinery and for identifying portions of thedata outside the predetermined speed and acceleration range, wherein aprocessor means is used for identifying the portions of the data; andgrouping together the identified portions of data relating to thepredetermined speed and acceleration range in a group relating to datain the predetermined speed and acceleration range, by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the predetermined speed and acceleration range.
 4. A systemfor detecting vibration signatures in a rotating and/or cyclic machinerycomprising: transducer means for acquiring digital data representativeof vibrations in the machinery; processor means for identifying portionsof said data relating to a predetermined speed and acceleration range ofthe machinery and for identifying portions of the data outside thepredetermined speed and acceleration range; and processor means forgrouping together said identified portions of data relating to thepredetermined speed and acceleration range in a group relating to datain the predetermined speed and acceleration range by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the predetermined speed and acceleration range.
 5. Acomputer program product having a computer readable medium having acomputer program recorded therein for detecting vibration signatures ina rotating and/or cyclic machinery, said computer program productcomprising: computer program code means for acquiring digital datarepresentative of vibrations in the machinery; computer program codemeans for identifying portions of said data relating to a predeterminedspeed and acceleration range of the machinery and for identifyingportions of the data outside the predetermined speed and accelerationrange; and computer program code means for grouping together saididentified portions of data relating to the predetermined speed andacceleration range in a group relating to data in the predeterminedspeed and acceleration range by appending successive portions to anaccumulation of previous data portions also relating to thepredetermined speed and acceleration range.
 6. A method for detectingvibration signatures in a reversible drive, said method comprising thesteps of: acquiring digital data representative of vibrations in saidreversible drive; identifying portions of said data using a processormeans; and grouping together said identified portions of data in aplurality of groups; wherein each of said identified portions of datarelate to a particular direction of travel of said reversible drive andsaid plurality of groups relate to different directions of travel ofsaid reversible drive; wherein grouping together identified portions ofdata relating to a particular direction of travel is done by appendingsuccessive portions to an accumulation of previous data portions alsorelating to the particular direction.
 7. The method of claim 6 whereinthe reversible drive changes its direction of travel while the data isacquired.
 8. The method of claim 6 wherein said identified portions ofdata are representative of substantially constant speed of operation ofsaid reversible drive.
 9. The method of claim 6 wherein said digitaldata includes data sampled at a fixed time interval sampling rate. 10.The method of claim 6 further comprising the step of processing at leastone of said groups of identified portions of data to produce datarepresentative of one or more vibration signatures.
 11. The method ofclaim 6 wherein the identified portions of data in the forward andreverse directions of travel are separated.
 12. A method for detectingvibration signatures in a reversible drive, said method comprising thesteps of: acquiring digital data representative of vibrations in saidreversible drive; identifying portions of said data using a processormeans; and grouping together said identified portions of data in aplurality of groups; wherein each of said identified portions of datarelate to a particular direction of travel of said reversible drive andsaid plurality of groups relate to different directions of travel ofsaid reversible drive; wherein each successive sample of each of saidone or more groups of identified portions of data corresponds to asuccessive sample position of said reversible drive.
 13. A method fordetecting vibration signatures in a reversible drive, said methodcomprising the steps of: acquiring digital data representative ofvibrations in said reversible drive; identifying portions of said datausing a processor means; and grouping together said identified portionsof data in a plurality of groups; wherein each of said identifiedportions of data relate to a particular direction of travel of saidreversible drive and said plurality of groups relate to differentdirections of travel of said reversible drive; wherein said digital dataincludes data sampled at a variable sampling rate synchronized to thespeed of said reversible drive.
 14. A method for detecting vibrationsignatures in a reversible drive, said method comprising the steps of:acquiring digital data representative of vibrations in said reversibledrive; identifying portions of said data using a processor means; andgrouping together said identified portions of data in a plurality ofgroups; wherein each of said identified portions of data relate to aparticular direction of travel of said reversible drive and saidplurality of groups relate to different directions of travel of saidreversible drive; wherein said digital data includes data sampled at afixed time interval sampling rate; further comprising the step ofresampling said digital data, wherein each successive sample of theresampled digital data corresponds to a successive position of saidreversible drive and the distance between each of said successivepositions is a constant amount.
 15. A method for detecting vibrationsignatures in a reversible drive, said method comprising the steps of:acquiring digital data representative of vibrations in said reversibledrive; identifying portions of said data using a processor means; andgrouping together said identified portions of data in a plurality ofgroups; wherein each of said identified portions of data relate to aparticular direction of travel of said reversible drive and saidplurality of groups relate to different directions of travel of saidreversible drive; further comprising the step of processing at least oneof said groups of identified portions of data to produce datarepresentative of one or more vibration signatures; wherein saidprocessing step comprises one or more steps selected from the groupconsisting of: accumulating the average, in the time domain, of the datacomprising one of said groups; accumulating the average, in the angledomain, of the data comprising one of said groups; accumulating theaverage, in the frequency domain, of the data comprising one of saidgroups; accumulating the average, in the orders domain, of the datacomprising one of said groups; computing a time synchronized averagetime waveform of the data comprising one of said groups; computing afrequency spectrum of a time synchronized average of the data comprisingone of said groups; computing an order tracked frequency spectrum of thedata comprising one of said groups; computing the kurtosis of anaccumulated time domain average; computing the kurtosis of anaccumulated angle domain average; computing the kurtosis of a timesynchronized average time waveform; and computing a demodulatedfrequency spectrum of the data comprising one of said groups.
 16. Amethod for detecting vibration signatures in a reversible drive, saidmethod comprising the steps of: acquiring digital data representative ofvibrations in said reversible drive; identifying portions of said datausing a processor means; and grouping together said identified portionsof data in a plurality of groups; wherein each of said identifiedportions of data relate to a particular direction of travel of saidreversible drive and said plurality of groups relate to differentdirections of travel of said reversible drive; wherein grouping togetheridentified portions of data relating to a particular direction of travelis done by appending successive portions to an accumulation of previousdata portions also relating to the particular direction; wherein eachsuccessive sample of each of said one or more groups of identifiedportions of data corresponds to a successive sample position of saidreversible drive.
 17. A method for detecting vibration signatures in areversible drive, said method comprising the steps of: acquiring digitaldata representative of vibrations in said reversible drive; identifyingportions of said data using a processor means; and grouping togethersaid identified portions of data in a plurality of groups; wherein eachof said identified portions of data relate to a particular direction oftravel of said reversible drive and said plurality of groups relate todifferent directions of travel of said reversible drive; whereingrouping together identified portions of data relating to a particulardirection of travel is done by appending successive portions to anaccumulation of previous data portions also relating to the particulardirection; wherein the reversible drive changes its direction of travelwhile the data is acquired.
 18. A method for detecting vibrationsignatures in a reversible drive, said method comprising the steps of:acquiring digital data representative of vibrations in said reversibledrive; identifying portions of said data using a processor means; andgrouping together said identified portions of data in a plurality ofgroups; wherein each of said identified portions of data relate to aparticular direction of travel of said reversible drive and saidplurality of groups relate to different directions of travel of saidreversible drive; wherein each successive sample of each of said one ormore groups of identified portions of data corresponds to a successivesample position of said reversible drive; wherein the reversible drivechanges its direction of travel while the data is acquired.